Derek McInnes suffered his first defeat as Aberdeen manager as Celtic battled to a league win ahead of their Champions League match in Kazakhstan.
The visitors went ahead on the stroke of half-time when Dons keeper Jamie Langfield was sent off for hauling down Georgios Samaras and Kris Commons powered home from the penalty spot.
Fraser Forster saved a Niall McGinn header as Aberdeen tried to fight back.
But sub James Forrest made the points safe from a deflected cross.
The players reacted to the atmosphere generated by the 20,017 fans inside Pittodrie by beginning at a fizzing pace, with Celtic hounded endlessly by packs of enthusiastic red shirts when they advanced too far into their opponents' half.
Aberdeen, though, were not for sitting in too long and when Jonny Hayes raced towards the Celtic goal it took a crude challenge by Samaras to halt him.
However, McGinn's free-kick from 20 yards sailed helplessly over the goal of Forster, who Celtic manager Neil Lennon this week insisted is not for sale, despite interest from Benfica for the English keeper.
The game quickly became an untidy affair, with both sides surrendering possession far too often, the result of frantic play and careless passing.
While Celtic's pressing was repelled by Aberdeen, who threatened with the occasional long ball, it took Joe Ledley to produce the first shot on target, 29 minutes into the game.
From the right, he played a one-two with Celtic captain Scott Brown, picked up the ball again on the edge of the box and waltzed past Mark Reynolds before unleashing a shot that was saved by Langfield to his right.
For all the home crowd rose to Aberdeen's speedy attacks and forays down the left by Reynolds and Peter Pawlett, their sole effort on goal in the first half was a limp 20-yard free-kick by Ryan Jack that was easily collected by Forster.
With half-time looming, Samaras chased a long ball and evaded the despairing challenge of Russell Anderson and rounded Langfield but was brought down by the Dons keeper, giving referee Calum Murray an easy decision to send him off and award Celtic a penalty.
Commons blasted the ball low and down the middle, whizzing past replacement goalie Nicky Weaver for a 1-0 half-time lead.
Soon after the restart Celtic defender Charlie Mulgrew received a yellow card for a painful challenge on Anderson, to add to earlier bookings for McGinn and Matthews.
With 10 men and trailing, Aberdeen's desire to match season's 1991/92 feat of winning their first three league games looked forlorn.
Yet Hayes' perfect cross into the box on 51 minutes almost produced a leveller, with Forster making a point-blank save from McGinn's firm header.
At the other end Samaras had volleyed wide prior to McGinn's attempt and Brown should have rounded off a flowing move by Commons, who skinned Anderson on the right wing, but the skipper shot wide.
Weaver made a good block with his legs to divert Ledley's shot from goal as Celtic sought to make the points secure and, following a flurry of substitutions, the Englishman again denied the visitors when Mikael Lustig prodded Commons' piercing free-kick at goal from eight yards.
Three minutes from full-time, Forrest, on for Beram Kayal, broke clear down the left to meet Ledley's pass and his cross clipped Reynolds' foot and looped over Weaver and into the net to give Celtic a deserved three points ahead of Tuesday's match against Shakhter Karagandy in Champions League qualifying.
For the Reds, it was the first defeat in a competitive match for McInnes since he replaced Craig Brown as manager at the end of last season.
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +2:52
Free kick taken by Mark Reynolds.90:00 +1:49
Foul by Charlie Mulgrew on Jonny Hayes, free kick awarded.90:00 +0:36
Corner taken by Kris Commons from the right by-line.90:00 +0:19
Mikael Lustig delivers the ball.86:07
Assist on the goal came from Scott Brown.86:07 Goal scored
Goal! - James Forrest - Aberdeen 0 - 2 Celtic James Forrest grabs a goal with a left foot finish. Aberdeen 0-2 Celtic.85:50
Clearance by Virgil van Dijk.85:46
Gregg Wylde sends in a cross.85:13
Fraser Forster takes the free kick.84:25
Free kick awarded for a foul by Gregg Wylde on Mikael Lustig.83:59
Mark Reynolds restarts play with the free kick.83:46 Booking
Booking for James Forrest for unsporting behaviour.83:38
Free kick awarded for an unfair challenge on Gregg Wylde by James Forrest.83:04
Clearance by Michael Hector.82:58
The ball is swung over by Emilio Izaguirre.81:30
The ball is delivered by Gregg Wylde.79:38
Mikael Lustig takes a shot. Nicky Weaver parries the ball away.79:18
Charlie Mulgrew crosses the ball in from the free kick.
Michael Hector is cautioned by the ref for unsporting behaviour.78:55
Michael Hector challenges James Forrest unfairly and gives away a free kick.76:57 Substitution
Substitution Efe Ambrose goes off and Virgil van Dijk comes on.76:44 Substitution
Substitution James Forrest on for Beram Kayal.74:25
Emilio Izaguirre makes a clearance.72:28 Substitution
Substitution Gregg Wylde comes on in place of Russell Anderson.71:33
Clearance made by Russell Anderson.71:29
Emilio Izaguirre sends in a cross.70:54
Free kick taken by Charlie Mulgrew.70:45
Foul by Jonny Hayes on Charlie Mulgrew, free kick awarded.70:12
The ball is sent over by Mikael Lustig.70:03
Clearance made by Michael Hector.69:55
Corner taken by Charlie Mulgrew.69:39
Russell Anderson manages to make a clearance.69:30
The ball is sent over by Kris Commons.66:48
The ball is swung over by Emilio Izaguirre.65:20
Corner from the left by-line taken by Kris Commons.65:13 Substitution
Substitution Mikael Lustig replaces Adam Matthews.64:36
Joe Ledley takes a shot. Nicky Weaver parries the effort to safety.62:53
Scott Brown takes a shot and went wide left of the target.62:44
Kris Commons produces a cross.62:10
Russell Anderson takes the free kick.61:56
Scott Brown is adjudged to have handled the ball.61:22
Emilio Izaguirre sends in a cross.60:36
Efe Ambrose manages to make a clearance.60:28
The ball is crossed by Jonny Hayes.58:20
Clearance made by Joe Shaughnessy.58:04
Corner from the right by-line taken by Kris Commons.57:42
Beram Kayal delivers the ball.57:00
Nicky Weaver restarts play with the free kick.56:39
The referee blows for offside.55:35 Substitution
Substitution Josh Magennis on for Peter Pawlett.53:55
Efe Ambrose takes the free kick.53:51
Niall McGinn is ruled offside.53:10
Shot by Charlie Mulgrew went wide of the left-hand upright.52:35
Clearance made by Emilio Izaguirre.52:27
Mark Reynolds crosses the ball.51:45
Fraser Forster takes the free kick.51:23
The assistant referee flags for offside against Niall McGinn.50:55
Chance falls to Niall McGinn who heads at goal. Fraser Forster parries the effort to safety.50:48
The ball is sent over by Jonny Hayes.49:32
Georgios Samaras takes the chance to get an effort at goal and missed to the left of the goal.49:01
Corner taken by Kris Commons.48:49
A cross is delivered by Adam Matthews.47:51
Free kick taken by Nicky Weaver.47:24
Charlie Mulgrew is given a yellow card.47:24 Booking
Unfair challenge on Russell Anderson by Charlie Mulgrew results in a free kick.45:32
Steven Mouyokolo manages to make a clearance.45:19
The ball is swung over by Niall McGinn.45:01
The game restarts for the second half.45:00 +3:34 Half time
Half Time The half-time whistle blows.45:00 +3:12
Shot by Emilio Izaguirre missed to the left of goal.45:00 +3:00
Clearance by Russell Anderson.45:00 +2:42
Corner from the right by-line taken by Charlie Mulgrew.45:00 +2:32
Michael Hector manages to make a clearance.45:00 +2:18
Kris Commons delivers the ball.45:00 +2:02
The ball is crossed by Willo Flood.45:00 +1:56
Free kick taken by Jonny Hayes.45:00 +1:48
Free kick awarded for a foul by Charlie Mulgrew on Jonny Hayes.45:00 +0:40 Goal scored
Goal! - Kris Commons - Aberdeen 0 - 1 Celtic Kris Commons scores a penalty. Aberdeen 0-1 Celtic.45:00 +0:03 Substitution
Substitution Nicky Weaver on for Calvin Zola.44:07
Jamie Langfield shown a red card.44:07 Dismissal
Penalty awarded for a foul by Jamie Langfield on Georgios Samaras.42:51
Clearance made by Joe Ledley.42:46
The ball is crossed by Jonny Hayes.41:57
Ryan Jack takes the chance to get an effort at goal. Fraser Forster catches the ball.41:53
Jonny Hayes takes the free kick.40:37
Adam Matthews receives a caution for unsporting behaviour.40:37 Booking
Adam Matthews concedes a free kick for a foul on Peter Pawlett.39:31
Free kick taken by Jamie Langfield.39:27
Scott Brown is caught offside.38:27
Kris Commons takes a shot and went wide of the left-hand upright.38:19
The ball is sent over by Emilio Izaguirre.37:14
Free kick taken by Jamie Langfield.37:10
The referee blows for offside against Georgios Samaras.35:53
Adam Matthews produces a cross.35:22
Russell Anderson manages to make a clearance.34:52
Charlie Mulgrew crosses the ball in from the free kick.34:40
The referee shows Niall McGinn a yellow card for unsporting behaviour.34:40 Booking
Kris Commons fouled by Niall McGinn, the ref awards a free kick.34:11
Clearance by Efe Ambrose.33:51
Corner taken by Jonny Hayes from the left by-line.33:30
Mark Reynolds crosses the ball.32:41
Clearance by Michael Hector.32:34
The ball is swung over by Adam Matthews.31:32
Peter Pawlett crosses the ball.30:35
Adam Matthews crosses the ball.28:58
Beram Kayal has an effort at goal. A parry by Jamie Langfield prevents the goal.27:46
Corner from the left by-line taken by Kris Commons.27:24
Emilio Izaguirre has an effort at goal.26:50
Free kick taken by Efe Ambrose.26:44
Charlie Mulgrew fouled by Calvin Zola, the ref awards a free kick.23:18
The ball is sent over by Jonny Hayes.23:06
The ball is crossed by Mark Reynolds.21:46
Efe Ambrose restarts play with the free kick.21:39
Michael Hector concedes a free kick for a foul on Kris Commons.20:01
Adam Matthews takes a shot.15:26
Jamie Langfield restarts play with the free kick.15:03
Ryan Jack fouled by Beram Kayal, the ref awards a free kick.14:51
Free kick taken by Kris Commons.14:45
Unfair challenge on Kris Commons by Jonny Hayes results in a free kick.14:38
Charlie Mulgrew makes a clearance.14:32
Jonny Hayes crosses the ball in from the free kick.14:07
Foul by Steven Mouyokolo on Niall McGinn, free kick awarded.7:43
Niall McGinn shoots direct from the free kick and clears the bar.7:03
Free kick awarded for an unfair challenge on Jonny Hayes by Georgios Samaras.5:19
The ball is delivered by Jonny Hayes.3:53
Clearance made by Charlie Mulgrew.3:45
Niall McGinn crosses the ball in from the free kick.3:24
Calvin Zola fouled by Steven Mouyokolo, the ref awards a free kick.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers