Borja Viguera had given the visitors a shock lead in the 17th minute but Adriano equalised 10 minutes before the break at the Nou Camp.
Villa scored a second-half brace as Tito Vilanova’s side eased to a 6-1 aggregate win to progress to the fifth round. It was the Spain international’s 39th strike for Barca and the seventh of what has so far been a frustrating campaign for the former Valencia frontman.
Barcelona have been wary of overusing Villa, who spent eight months out with a broken tibia, and last night was the first time this season he played the whole game. “I have not played 90 minutes. The 301 goals make you think that you’ve done well and makes you feel proud to have achieved many goals,” the striker said.
Spotted: Virat Kohli, Anushka Sharma and other celebs at Mumbai airport
Photos: Salman Khan's 'special friend' Iulia Vantur at a song launch
In Pictures: Sex scandals involving Indian politicians
Photos: Abhishek Bachchan and Farah Khan at Boman Irani's birthday bash
Spotted: Shah Rukh Khan at Morani's bungalow in Mumbai