Middlesbrough, who advanced to the group stages of the Uefa Cup on Thursday, were seldom stretched in achieving only their second victory in 10 attempts in a fixture following a European match. Their previous victims had been Villa, and with the two-goal Aiyegbeni Yakubu giving a masterclass in lone front-running, they demonstrated what their manager, Steve McClaren, called "a freshness and an energy".
Villa have endured their worst start to a campaign in 14 seasons of the Premiership and their manager bluntly described their display as "not good enough".
O'Leary added: "We're missing four or five quality players through injury, people like [Gavin] McCann, [Milan] Baros and [Kevin] Phillips, but I still think we should be doing better."
Middlesbrough were especially well served by their former Villa players, Gareth Southgate and George Boateng. The Dutchman restored their lead after Luke Moore had nullified Yakubu's opener, and was brought down for the late penalty through which Boro plumped up a two-goal cushion.
Yakubu looked a man possessed, nutmegging Olof Mellberg with only 50 seconds played before making Thomas Sorensen sprawl to save his shot. The only surprise was that it took him 33 minutes to score. A cross by Emanuel Pogatetz was headed sloppily into the air by Wilfred Bouma, and the Nigerian simply waited for the ball to drop, his volley hitting Liam Ridgewell on its way in.
Villa, having doubtless felt O'Leary's wrath at half-time, soon underlined the fragility of a one-goal lead. Patrik Berger's mis-hit shot thudded into Juan Pablo Angel's back, and Moore, seizing on the loose ball, curled in his second goal in as many games.
Middlesbrough regained the initiative midway through the second half. A corner by the impressive Fabio Rochemback evaded everybody on its way to the far side of the penalty area, where Boateng met the ball with a fierce left-footed cross-shot.
With three minutes remaining, Jlloyd Samuel cut down Boateng, whose melodramatic limp to the touchline angered the Holte End. Yakubu nonchalantly converted the penalty, and Steven Davis' stoppage-time goal, a low shot through a crowded area after a corner, was scant consolation for those still left among Villa Park's lowest crowd of the season.
Goals: Yakubu (33) 0-1; Moore (51) 1-1; Boateng (64) 1-2; Yakubu pen (88) 1-3; Davis (90) 2-3.
Aston Villa (4-4-2): Sorensen; De La Cruz (Samuel, h-t), Mellberg, Ridgewell, Bouma (Bakke, 76); Milner, Davis, Barry, Berger; Moore, Angel. Substitutes not used: Taylor (gk), Djemba-Djemba, Cahill.
Middlesbrough (4-5-1): Jones; Abel Xavier, Riggott, Southgate, Pogatetz; Mendieta (Queudrue, 65), Doriva, Rochemback, Boateng, Nemeth (Parnaby, 69); Yakubu. Substitutes not used: Knight (gk), Hasselbaink, Maccarone.
Referee: M Dean (Wirral).
Booked: Aston Villa: Barry, Berger, Ridgewell, Samuel. Middlesbrough: Riggott.
Man of the match: Yakubu.