Everton 1-2 Bolton
David Ngog and Gary Cahill struck to help Bolton recover from an amazing goal by Everton goalkeeper Tim Howard to move off the bottom of the table.
Howard scored from inside his area when the ball bounced 30 yards from Bolton's goal and, with the help of the wind, flew over visiting keeper Adam Bogdan.
Ngog's shot drew Bolton level and Cahill, possibly playing his final game for the club, drove home the winner.
Everton's Leighton Baines hit the bar with a free-kick in injury time.
It was a brave performance by Bolton, whose fightback reflected Owen Coyle's passing principles as they responded well to the disappointment of Howard's goal.
Bogdan had been brought in to replace the injured Jussi Jaaskelainen, but he could not be blamed for the freak nature of Howard's effort. After equalising, the visitors - to their credit - chased victory rather than settling for a point.
Bolton's morale was also helped by under-pressure striker Ngog scoring his first goal for nearly three months, while they secured back-to-back Premier League victories - following their win at Blackburn - for the first time since September 2009.
Ngog's goal was a team effort that summed up the team's togetherness and backed up Coyle's public pronouncements about their capacity to avoid relegation.
The Toffees made a strong start and Denis Stracqualursi should have done better from Baines's dangerous free-kick, but the ball struck him on the back.
Everton created chances from both flanks, with Donovan supplying Stacqualursi, who fired wide, and then Baines crossed for Louis Saha, who also struck off target.
Bolton had a sniff of goal - wind-assisted - when Chris Eagles floated in a cross that Phil Jagielka headed towards his own goal and Howard tipped over.
The home team threatened again when Bogdan pushed out a Phil Jagielka header, then more good work from Donovan allowed Leon Osman to send an angled shot just wide of the far post from 15 yards.
Everton had a penalty shout turned down when Donovan and Sam Ricketts tussled, but referee Phil Dowd looked to have made the right decision when turning down the appeals.
Bolton's best opportunity of the half arrived just before the break when Nigel Reo-Coker played a ball down the middle for Ngog, whose strike was pushed over by Howard.
Both teams had chances early in the second period.
First Jack Rodwell shot wide from a tight angle, then Mark Davies had a 10-yard shot stopped by Howard's left leg after he had made an impressive run past Sylvain Distin and John Heitinga.
Bolton were looking much better and came close again when Ngog received Ricketts' pass and curled in a 16-yard shot which Howard saved at full stretch.
They were then stunned by Howard's goal, but soon got deservedly back on level terms when Mark Davies's back heel found Reo-Coker and his deflected pass set up Ngog.
That lifted Bolton, and former Liverpool striker Ngog appealed optimistically for a spot-kick soon afterwards when his shot on the edge of the area struck Baines.
Then came the twist in the tail as Eagles evaded Baines and slipped the ball forward for captain Cahill, who arrowed in a first-time shot that ensured victory - despite the late scare from Baines.
Everton manager David Moyes: "We didn't deserve to win, Bolton did. We didn't deal with the conditions particularly well. They adapted better than we did.
"It was a freak goal and we hadn't really deserved to be ahead. When we were 1-0 up, I hoped we might have enough to keep the lead but we didn't have."
Bolton manager Owen Coyle: "It was a big win but a merited win. We knew that we had to be at our best and we were.
"With the wind and conditions, Tim Howard scored with a freakish goal. Adam Bogdan was magnificent and was in a good position. The lad certainly wasn't at fault. But we then showed character and resilience.
"I don't know if this will be Gary Cahill's farewell. The clubs have agreed a fee. Gary's representatives and Chelsea have only had one meeting about personal terms."