Aston Villa manager Martin O'Neill must have delivered a half-time roasting to his players at the Riverside Stadium as they came from behind to clinch an impressive win.
Villa came out of the blocks for the second half with a greater sense of urgency and more power in attack after a disappointing first period.
Villa scored twice after the break and were full value for the three points.
Yet a win for the visitors was not on the cards in the first half and particularly in the early stages.
Middlesbrough were without striker Mark Viduka who was ruled out shortly before the game with a virus, with Malcolm Christie making a rare appearance in another injury-hit season.
Manager Gareth Southgate had stressed before the game that many Boro players were playing for their futures and it was certainly an enterprising start by the home side.
Villa had the best scoring chance in the opening minutes but Shaun Maloney made a complete hash of his opportunity. The unmarked Maloney made only a feeble effort when he should have put his side ahead.
Middlesbrough striker Yakubu tried to enhance his reputation as the club's leading scorer with a clever effort in the sixth minute. The Nigerian striker tried a lob from outside the penalty area but Thomas Sorensen was equal to the challenge.
Maloney then forced Mark Schwarzer to make a good save as he tried to redeem himself for his previous miss.
Phil Bardsley was booked for a foul on Middlesbrough and England winger Stewart Downing.
Boro went ahead after 13 minutes through Fabio Rochemback with his second goal in successive matches. Rochemback fired in a powerful free-kick that Sorensen allowed to slip out of his hands and over the line.
It was an embarrassing moment for Sorensen. It was debatable whether the power or the swerve of the shot had beaten him. Whatever the reason, Sorensen will not relish a television replay of the goal
Boro's Adam Johnson then fired a shot just wide but, although the first half was competitive, penalty area thrills were in short supply.
O'Neill must have been disappointed with the lack of penetration from his side but, on the stroke of half-time, Villa levelled the scores through Craig Gardner.
Johnson blasted wide for Middlesbrough early in the second half but Villa looked the more enterprising side.
Boro were struggling at this stage and Southgate shuffled his pack to try and pull the game around.
O'Neill introduced substitute Luke Moore in the 67th minute and it proved to be an inspired choice. Moore gave his side the lead three minutes later from a pass by Martin Laursen.
Villa were well on top at this stage and it was no surprise when Stiliyan Petrov increased their lead with a shot into a corner of the net that gave Schwarzer no chance.
Boro substitute Lee Cattermole was booked for a foul and defender Andrew Taylor followed him into the referee's notebook shortly afterwards as the home side ended the game well-beaten.