Middlesbrough moved into fourth position in the Premier League table with a brilliant win in an all-action game at the Riverside Stadium.
It was the first time that Boro had not suffered a hang over following a UEFA Cup tie in midweek.
Middlesbrough are now seven points clear of the Villa and poised for a determined challenge for a Champions League spot.
Manager Steve McClaren has refused to get carried away by the progress of his team but the fans' hopes have been raised in recent weeks.
Yet, Villa put up a tremendous fight in the second half and the scoreline flattered Middlesbrough.
Yet a win over Villa was a welcome change because the Midlands side have had the Indian Sign over the Boro in recent years.
Villa deserved something for their second-half fightback, but all credit to Middlesbrough for their superior finishing.
Villa were unlucky in the 19th minute when central defender Gareth Southgate saved a certain goal by clearing off the line from Gareth Barry.
Within a minute Middlesbrough punished the visitors with a superb goal from Jimmy Floyd Hasselbaink. The former Chelsea striker raced down the left wing, cut inside Mark Delaney and hammered a shot of tremendous power into the far corner.
It was one of the best goals seen at The Riverside Stadium this season.
Stephen Davis wasted a great scoring chance for Villa when he shot over the bar from six yards at the far post.
Villa goalkeeper Thomas Sorensen made a brilliant save from a Southgate header before Middlesbrough substituted the injured Chris Riggott with Colin Cooper.
Middlesbrough deserved the lead at the interval, but Villa resumed after the break in fighting mood.
The visitors stretched the home defence with Barry a major influence in their attacks. Davis was also prominent, but Middlesbrough held out under terrific pressure.
Middlesbrough delivered the killer blow in the 68th minute when Stewart Downing crossed to the unmarked Joseph-Desire Job for the substitute to coolly take his chance.
Home goalkeeper Mark Schwarzer brilliantly denied Juan Pablo Angel before defender Michael Reiziger wrapped up the points with a third goal two minutes from time.
Man of the Match: George Boateng - The Dutch midfielder excelled against one of his former clubs and gave Boro the platform on which to build another victory.