Villa scored in his second straight match with a 24th-minute header and Keita tapped home from close range as Barcelona finished their three-match North American tour with a victory after falling 2-1 to Manchester United and 4-1 to Mexican club Chivas of Guadalajara.
"We played similar (against Chivas), but because we lost, we were terrible," Barcelona coach Pep Guardiola said. "Now, because we won, we were awesome. Today we played with much confidence, much better."
Guardiola said the climate control at the billion-dollar Cowboys Stadium -- home of the Dallas NFL franchise -- made a difference after the humidity in Miami, where Barça were shocked by Guadalajara. "The guys suffered a lot in the humidity," Guardiola said. "With the air conditioning here, it was much, much better."
After two defeats, Guardiola fielded all of his available starters, although the Spanish giants are without Lionel Messi as well as Daniel Alves, Javier Mascherano and Alexis Sanchez for the tour.
Barcelona demonstrated their usual control of possession, creating several early scoring opportunities that didn't bear fruit before Adriano beat America left-back Oscar Rojas and delivered a cross to Villa, who dropped his marker and headed home.
Keita doubled the score in the waning stages after second-half substitute Gerard Deulofue made a run down the left flank to send in the cross.
The victory lets Barcelona end their tour on a positive note, providing a boost as the gear up for next weekend's Super Cup clash with arch-rivals Real Madrid in their first competitive match of the season.