Match ends, Aberdeen 1, Livingston 1.
Aberdeen's winless Scottish Premiership home run was extended to six games after they were held by Livingston.
Niall McGinn's superbly-taken volley gave them the lead, but Craig Sibbald drew the visitors level.
At a sodden Pittodrie, Livingston's Declan Gallagher had a header ruled out for offside, while Lewis Ferguson came close for the hosts.
The result means Aberdeen missed the chance to gain an advantage in the race for a European spot.
With Rangers and Kilmarnock drawing and Hearts losing to Hamilton Academical, Derek McInnes' side could have gained points on all their nearest rivals.
Livingston meanwhile, move above St Johnstone into eighth.
Insipid Aberdeen's home woes continue
Aberdeen's struggles at home have been well documented. No Premiership win at Pittodrie in 2019, with struggling St Mirren and Hamilton leaving the North East with four points between them in recent weeks.
Manager McInnes emphasised the need sort it out if they want to secure European football once more and keep the heat on Rangers in the race for second, but what he got was another insipid Pittodrie performance.
McGinn's sublime volley put them in front and briefly coaxed some life out of them. The Northern Irishman brilliantly plucked the ball from the sky and found the bottom corner- and had fellow winger Connor McLennan to thank for his jinking run and pinpoint cross in the build-up.
Buoyed by that moment of brilliance, they swept forward again. McLennan had a low drive pushed wide by Liam Kelly after nice link-up with Sam Cosgrove, then the English striker himself volleyed wide from Max Lowe's cross.
It was suddenly one-way traffic, but it was all too fleeting from an Aberdeen perspective, and Livingston were menacing in final third. Scott Pittman headed wide in the opening three minutes and, after McGinn's goal, Declan Gallagher forced Joe Lewis into action.
Then, right before half-time, they pulled level. It was delightfully simple, too. A free-kick on halfway was flicked on by Chris Erskine to Craig Halkett, and his volleyed cross found Sibbald to smash in from two yards. Simple, but effective.
Then immediately after the interval, Gallagher headed in from a superbly-delivered free-kick, but the offside flag had already gone up. It was a tight call.
There was an irony in the fact that Aberdeen were struggling to cope with Livingston's physicality and aerial prowess, given the way they had themselves used both attributes so effectively to keep clean sheets against Celtic and Rangers this week.
They had Dominic Ball and Graeme Shinnie to thank for last-ditch tackles on Pittman and Steve Lawson respectively, while Ferguson created and then passed up their best chance when he scurried past two defenders before lifting his shot over the crossbar.
There was endeavour aplenty from both sides in the closing 20 minutes, but the quality was lacking and a draw seemed a fair outcome on a bleak afternoon.

'Livingston deserved a point' - analysis
BBC Scotland's Tyrone Smith at Pittodrie
There have been plenty of stories in Scottish football this season. What has happened to Aberdeen's home form is becoming one of them.
Perhaps the exertions of their last couple of games - at Rangers and Celtic - caught up with them on this occasion, but McInnes will understandably be perplexed.
But take nothing away from Livingston, they deserved to take something from the game and, though the top six may just be beyond them, they can look forward to another season in the top flight.
'The goal we lose is terrible' - reaction
Aberdeen manager Derek McInnes said: "The goal we lose is terrible. It's not a free-kick in the first place, the referee's got that badly wrong. We should still deal with it, it's basic defending.
"It's not been good enough, the amount of clean sheets we've had at Pittodrie. It's even more galling that we've let two points slip from a winning position."
Livingston manager Gary Holt said: "Absolutely delighted to come here and stand toe-to-toe with an exceptional side and get a deserved point. Every single one of them put a shift in.
"I thought we were well in the game, we were comfortable, we were stifling Aberdeen as much as we could and we were breaking on them at times."
Line-ups
Aberdeen
Formation 4-2-3-1
- 1Lewis
- 21Ball
- 18Devlin
- 5McKenna
- 29Lowe
- 19FergusonSubstituted forWilsonat 88'minutes
- 3Shinnie
- 27McLennan
- 17MaySubstituted forCampbellat 57'minutes
- 10McGinnSubstituted forStewartat 76'minutes
- 16Cosgrove
Substitutes
- 7Stewart
- 8Gleeson
- 9Wilson
- 14Halford
- 20Cerny
- 24Campbell
- 33Ross
Livingston
Formation 4-2-3-1
- 1Kelly
- 31Gallagher
- 26Halkett
- 4Lithgow
- 5Brown
- 33LawsonSubstituted forByrneat 71'minutes
- 7Jacobs
- 17RobinsonSubstituted forHardieat 83'minutes
- 8Pittman
- 10Sibbald
- 19ErskineSubstituted forOdoffinat 65'minutes
Substitutes
- 6Byrne
- 9Hardie
- 14Odoffin
- 15Lawless
- 21Stewart
- 22Tiffoney
- 23De Vita
- Referee:
- Don Robertson
- Attendance:
- 14,366
Match Stats
- Possession
- Home56%
- Away44%
- Shots
- Home8
- Away7
- Shots on Target
- Home3
- Away3
- Corners
- Home4
- Away3
- Fouls
- Home12
- Away10
Live Text
Post update
Full Time
Second Half ends, Aberdeen 1, Livingston 1.
Post update
Corner, Aberdeen. Conceded by Craig Halkett.
Post update
Attempt blocked. Greg Stewart (Aberdeen) left footed shot from outside the box is blocked.
Substitution
Substitution, Aberdeen. James Wilson replaces Lewis Ferguson.
Post update
Lewis Ferguson (Aberdeen) wins a free kick in the defensive half.
Post update
Foul by Craig Halkett (Livingston).
Substitution
Substitution, Livingston. Ryan Hardie replaces Scott Robinson.
Post update
Foul by Dominic Ball (Aberdeen).
Post update
Keaghan Jacobs (Livingston) wins a free kick in the attacking half.
Post update
Foul by Connor McLennan (Aberdeen).
Post update
Craig Halkett (Livingston) wins a free kick on the right wing.
Post update
Attempt missed. Hakeem Odoffin (Livingston) right footed shot from the centre of the box is just a bit too high.
Substitution
Substitution, Aberdeen. Greg Stewart replaces Niall McGinn.
Post update
Attempt missed. Michael Devlin (Aberdeen) header from the centre of the box is too high.
Post update
Max Lowe (Aberdeen) wins a free kick on the left wing.
Post update
Foul by Hakeem Odoffin (Livingston).
Post update
Corner, Aberdeen. Conceded by Craig Halkett.
Substitution
Substitution, Livingston. Shaun Byrne replaces Steve Tevi Lawson because of an injury.
Post update
Delay in match Steve Tevi Lawson (Livingston) because of an injury.