Match ends, Aberdeen 1, Hearts 3.
Scottish Premiership basement side Hearts made Aberdeen pay for Barry Robson's second-half dismissal by coming from behind to win at Pittodrie.
Aberdeen had led at half-time thanks to Niall McGinn's assured strike.
But Jamie MacDonald saved a penalty struck by the Northern Irishman and Hearts came alive when Robson was sent packing for a challenge on Jason Holt.
Jamie Walker flicked home a leveller in 66 minutes and Callum Paterson added a second before Ryan Stevenson's strike.
Aberdeen began the match in second place, seven points behind Celtic after their win in the early kick-off at Ross County.
However, it was bottom-club Hearts, with the same starting 11 as last weekend, who had the best two chances before the Dons made the breakthrough.
Kevin McHattie found Stevenson at the back post after 17 minutes but the forward fired a shot straight at Jamie Langfield from eight yards.
And the Reds keeper had to be at his most alert when winger Walker thumped a shot at goal from 20 yards but, fortunately for the home side, it was aimed directly at their goalie.
Aberdeen manager Derek McInnes had made only one change to his starting line-up from the team that beat Partick Thistle 4-0 on Monday - captain Russell Anderson replacing Cammy Smith - but his hand was forced when Willo Flood was injured midway through the first half.
Fellow midfielder Robson was his replacement and within three minutes his corner from the left fed McGinn who fired confidently past MacDonald.
Aberdeen claimed unsuccessfully for a penalty eight minutes from half-time when it looked like Dylan McGowan had handled Calvin Zola's shot on the goal line.
But only a minute later referee Iain Brines pointed to the spot when Jordan McGhee was penalised for hand ball, though TV replays suggested the ball struck his back.
McGinn looked to double his tally for the day but his penalty was saved by Hearts keeper MacDonald, who made a fine stop down to his left.
A goal up going into the second half, Aberdeen enjoyed the bulk of possession but Hearts' youngsters could not be accused of failing to give their all.
Robson had been booked for in the first half for breaking ranks from a defensive wall at a free-kick and he picked up a second yellow when he sent Holt tumbling in midfield.
McInnes's response was to remove Zola from the fray and send on a direct replacement, Scott Vernon.
Hearts, though, gradually pressed the Reds back.
Paterson hit the ball on to the Aberdeen bar and over with his knee and Walker pinged a shot wide, before Aberdeen had a chance of their own, Vernon's first-time shot tipped over the bar by MacDonald.
Hearts manager Gary Locke sent on David Smith and Callum Tapping for Scott Robinson and Jason Holt and drew level when Walker flicked the ball past Langfield from inside the six-yard box.
And they were rewarded for their renewed ambition when Walker cut the ball back and 19-year-old Paterson was there to stroke the ball home.
The Dons, roared on by the home fans in Pittodrie, pushed desperately to pull level but they were caught on the break in the dying seconds and Stevenson smashed in Hearts' third from the edge of the box to make the points secure.
- 27HectorSubstituted forSmithat 83'minutes
- 8FloodBooked at 21minsSubstituted forRobsonat 23'minutesBooked at 55mins
- 7Zola-MakongoSubstituted forVernonat 58'minutes
- 16PawlettBooked at 75mins
- 2HamillBooked at 11mins
- 5McGowanBooked at 56mins
- 8RobinsonSubstituted forSmithat 60'minutes
- 15HoltSubstituted forTappingat 61'minutes
- 14WalkerSubstituted forKingat 90+4'minutes
- Iain Brines
- Shots on Target
Second Half ends, Aberdeen 1, Hearts 3.
Attempt missed. Peter Pawlett (Aberdeen) right footed shot from outside the box misses to the right.
Substitution, Hearts. Billy King replaces Jamie Walker.
Goal! Aberdeen 1, Hearts 3. Ryan Stevenson (Hearts) right footed shot from the right side of the box to the top left corner. Assisted by Callum Paterson.
Corner, Aberdeen. Conceded by Callum Tapping.
Attempt missed. Russell Anderson (Aberdeen) right footed shot from outside the box misses to the right.
Jonathan Hayes (Aberdeen) wins a free kick on the left wing.
Foul by Jamie Walker (Hearts).
Attempt missed. Peter Pawlett (Aberdeen) right footed shot from the centre of the box is close, but misses to the left.
Attempt missed. Callum Paterson (Hearts) right footed shot from very close range is just a bit too high.
Attempt missed. Mark Reynolds (Aberdeen) header from the centre of the box is too high.
Corner, Aberdeen. Conceded by Jamie Hamill.
Substitution, Aberdeen. Cameron Smith replaces Michael Hector.
Corner, Hearts. Conceded by Russell Anderson.
Corner, Aberdeen. Conceded by Dylan McGowan.
Foul by Russell Anderson (Aberdeen).
Jamie Walker (Hearts) wins a free kick in the attacking half.
Jonathan Hayes (Aberdeen) wins a free kick in the defensive half.
Foul by Ryan Stevenson (Hearts).