Midfielder Herrera fired home with his left foot just before the break at Old Trafford on Saturday to put Louis van Gaal's side on course for a fifth consecutive top-flight win.
Rooney then doubled United's lead with a sublime finish before Herrera added his second goal in stoppage time to seal victory after Christian Benteke had given Villa brief hope immediately after Rooney's stunner.
The home side were deserved winners and are now a point above City - who play Crystal Palace on Monday - ahead of next Sunday's derby with the champions and a clash with leaders Chelsea the following weekend.
Defeat for Villa leaves them without a victory over United in their last 12 attempts and Tim Sherwood's side are now just three points ahead of third-bottom QPR, who beat West Brom on Saturday and travel to Villa Park on Tuesday.
Van Gaal made only one change to his starting line-up, with Marcos Rojo replacing Chris Smalling at the heart of the United defence.
On-loan Tom Cleverley was ineligible to face his parent club, so Carlos Sanchez came into the Villa side. Matt Lowton and Andreas Weimann replaced Leandro Bacuna and Scott Sinclair.
United made a blistering start and Rooney was furious with referee Roger East for failing to award an early penalty when he appeared to be brought down by Ciaran Clark.
Villa were struggling to live with the home side's intensity and Juan Mata's goal-bound shot was well blocked by Clark after Ashley Young had tormented his former club with a great run down the left.
Rojo almost marked his recall with a goal 23 minutes in, but the Argentina international's long-range strike was brilliantly tipped over the crossbar by the agile Brad Guzan.
Villa defended resolutely, but it came as no surprise when they fell behind two minutes before half-time courtesy of a well-worked goal from Herrera.
The Spanish midfielder was left unmarked in the penalty area and punished Villa by drilling into the far corner with his left foot after Daley Blind had cut the ball back from the byline.
Marouane Fellaini ought to have doubled United's lead just after the hour mark, but the unmarked Belgium midfielder headed the ball down into the ground and Guzan palmed the effort behind.
Rooney did give them breathing space 11 minutes from time, though, sticking out his left leg to control substitute Angel Di Maria's cross before swivelling to fire into the top corner of the net with his right boot.
United had barely finished celebrating when they were caught napping from a corner and Benteke fired under David De Gea, who will not want to see a replay of his attempted save.
But any hopes of Villa snatching a point were ended when Herrera swept a shot home from the edge of the area after fellow Spaniard Mata had spotted his surging run in stoppage time.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.