Zlatan Ibrahimovic appeared to have sent his club on the way to victory with a first-half lob, but the away team paid dearly for Fellaini’s mistake against his old club.
Leighton Baines scored a penalty with one minute remaining to deny Manchester United a much-needed Premier League win as Everton snatched a 1-1 draw at Goodison Park.
Zlatan Ibrahimovic’s audacious lob from outside the penalty area gave United the lead shortly before half-time, his sixth goal in five matches.
And it looked like that would prove decisive, with Ander Herrera striking the frame of the goal and David de Gea saving from Kevin Mirallas in the two best chances of the second period prior to the penalty incident.
Marouane Fellaini – on as a late substitute for his 100th United appearance – fouled Idrissa Gueye against his former club and Baines confidently converted from the spot.
United have now only won two of their past 11 league matches, with this point moving them back above West Brom and into the top six, but nine points adrift of Manchester City in fourth as the pressure grows on manager Jose Mourinho.
Everton, meanwhile, stay eighth, and have still only won once in their last nine league matches, despite their late revival.
After a quiet start to the match, Marcos Rojo escaped a red card despite lunging in with a two-footed challenge against Gueye, with referee Michael Oliver opting only to book him.
Tom Cleverley sliced a volley into the arms of De Gea for Everton, while Ibrahimovic blasted a free-kick straight into the wall from 20 yards at the other end.
There was not a shot on target in the first half until Ibrahimovic’s brilliant opener after 42 minutes.
Anthony Martial’s high ball sent Ibrahimovic racing clear down the left and the striker scooped a magnificent lob over the onrushing Maarten Stekelenburg and was relieved when the ball hit both post and bar before spinning over the line prior to Ramiro Funes Mori getting back to clear.
Everton came close to an equaliser early in the second half, De Gea making a vital save from Mirallas – one of the hosts’ three changes – after he had burst past Rojo into the box.
The game was livening up and Herrera had a golden chance to double United’s lead, his left-footed strike from close range bouncing off the woodwork after Michael Carrick’s cross had been cleared into his path.
Everton were still struggling to pose a consistent threat and Ronald Koeman brought on Gerard Deulofeu and Enner Valencia in an attempt to find a breakthrough, while Mason Holgate replaced the injured Seamus Coleman at the back – all of which meant Ross Barkley remained on the bench.
Gueye’s swerving shot was beaten away by De Gea, before the Spain international did well to tip Holgate’s header to safety and hold on to Valencia’s effort as it looked like the visitors would give Mourinho a timely three points.
But Everton received a lifeline with a minute remaining when Fellaini clumsily tripped Gueye in the area allowing Baines to beat De Gea from 12 yards as the home crowed breathed a sigh of relief.