Missing injured Argentina forward Lionel Messi, the champions struggled to break down a well-organised Gijon side before Daniel Alves sent Villa clear in the 49th minute and he finished clinically past goalkeeper Ivan Cuellar.
The Spain striker, who hails from mining stock in the northern region of Asturias where Sporting are based and played for Gijon from 2000-2003, barely celebrated the goal, his second in the league in four matches this season.
Villa said he enjoyed playing against his former club.
"It means they are in the first division and, what's more, it's a team I have been able to score against regularly," he told Spanish television.
Villa's Spain team mate Andres Iniesta had Barca's best chance of the first half but Cuellar palmed his powerful low shot away for a corner.
The home side controlled possession after the break without ever looking like extending their lead and survived a spell of late pressure to secure the win.
"It wasn't a brilliant match," Barca coach Pep Guardiola said at a news conference.
"This time we failed to go after the other team which is what you have to do with opponents who sit back and don't come after you.
"We didn't manage to get the second goal that would have allowed us to relax."
With four matches played, Barca have nine points, one behind arch-rivals Real Madrid, who are joint top after beating Espanyol 3-0 at the Bernabeu on Tuesday.
Atletico Madrid spoiled Valencia's perfect start in Wednesday's late kickoff, holding Unai Emery's side to a 1-1 draw at the Mestalla.
Simao Sabrosa put the visitors ahead in the 19th minute, finishing off an intricate passing move from close range.
Atletico's teenage goalkeeper David De Gea, widely tipped as a possible future replacement for Spain keeper Iker Casillas, protected his side's lead in the second half with a series of fine saves as Valencia pressed for an equaliser.
The 19-year-old was finally beaten in the 83rd when Aritz Aduriz headed in a hanging cross from David Albelda.
Valencia are level with Real on 10 points, fourth-placed Atletico have seven and Sevilla have a chance to go joint top with Real and Valencia with a win at home to Racing Santander on Thursday.
In Wednesday's other matches, promoted Levante clinched their first win of the season after three straight defeats with a 1-0 victory at Almeria.
Real Zaragoza are bottom of the standings after they were held to a 0-0 draw at home by promoted Hercules.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1