Scottish Premiership Wrap: Celtic unbeaten run ends at Aberdeen, St Johnstone win
The league leaders, who had Virgil van Dijk sent off in the 13th minute, were unable to come back after conceding two goals at the end of the first half and slipped to their first defeat of the season.
Jonny Hayes' 41st-minute strike gave Aberdeen the lead at Pittodrie, a goal that saw Celtic goalkeeper Fraser Forster fall 56 minutes short of breaking Edwin van der Sar's British record for the longest time spent without conceding.
Adam Rooney doubled Aberdeen's lead with a goal right on half-time, and although James Forrest pulled one back for Celtic the hosts were able to hang on for a memorable victory.
The result, which ended Celtic's unbeaten streak that stretched back to last season, cut the defending champions' lead to a still very healthy 21 points.
St Johnstone put back-to-back league defeats firmly behind them with a 3-0 win over Motherwell at McDiarmid Park, striker Steve MacLean grabbing two goals in the first half before Gary Miller added the third with five minutes to play.
Meanwhile, Inverness Caledonian Thistle moved back into fourth place with a 3-0 win over Ross County.
Goals from David Raven, Billy McKay and Marley Watkins sealed their seventh away win of the campaign, and moved Inverness back above Dundee United in the table.