Cahill (second left) had a fine afternoon against his former club
By Paul Fletcher
Ivan Klasnic struck a late winner as Bolton came from behind to stun relegation-threatened Aston Villa.
Darren Bent wasted a one-on-one chance and struck the woodwork but he did put Villa ahead from close range.
Gary Cahill equalised with a header on the stroke of half-time but Marc Albrighton restored Villa's lead.
Jussi Jaaskelainen saved an Ashley Young penalty before Cahill equalised with a left-foot strike and substitute Klasnic smashed home from 14 yards.
Visiting side Villa can regard themselves as unfortunate to have lost after dominating for long periods of the second half.
Certainly Gerard Houllier's team - with eight changes from the under-strength side defeated at Manchester City in the FA Cup in midweek - created enough openings to comfortably win.
Injustice spurred on Bolton - Coyle
And had Jaaskelainen not brilliantly saved Young's penalty to prevent Villa from taking a 3-1 lead, they would surely have done so.
But Bolton worked up a head of steam after Young's miss and completed a brilliant comeback to leapfrog Liverpool, who play Manchester United on Sunday, and move up to sixth in the Premier League table.
However, it is a result that does little to assuage Villa's fears of relegation; they started the day five points clear of the bottom three but that cushion has now been reduced to three points.
The match was an open and entertaining contest, enriched by a constant flow of chances at either end.
Villa created the first clear-cut opening after four minutes when Young's precise pass sent Bent clean through on goal.
The England international was one-on-one with Jaaskelainen but completely fluffed his lines and failed to make any sort of clean contact with his shot, gifting the Bolton keeper the simple task of picking up the loose ball.
But there was nothing Jaaskelainen could do about Bent's opener, the Villa forward tapping home from inside the six-yard box after the impressive Kyle Walker surged down the right-hand side and delivered a teasing low cross.
Bent almost doubled Villa's lead in bizarre fashion when his header struck David Wheater, rebounded back into the forward's face and then thudded against the woodwork.
Moments of admirable skill were often followed by calamitous errors and a mix-up between Young and Brad Friedel saw both players try to clear a low cross and could have resulted in an equaliser for Bolton.
Daniel Sturridge, hoping to score in his fifth consecutive game since joining Bolton on loan from Chelsea, then headed wide, but just as it looked as if Villa would take their lead into the break Cahill equalised against his former club from Martin Petrov's corner.
Both teams continued to show the sort of attacking desire after the break that created such a gripping contest.
Sturridge again headed wastefully across goal for Bolton, while Villa also failed to convert a series of chances.
Jaaskelainen saved a 14-yard strike from Bent, who later had only Wheater to beat from five yards but struck his shot against the Bolton defender.
Angry Houllier feels 'robbed' by defeat
Stewart Downing was also guilty of spurning a good chance, volleying wide from eight yards after Albrighton picked him out unmarked at the far post.
The two men combined to better effect to restore Villa's lead, with Albrighton volleying a superb cross from Downing, who had surged down the right-hand side.
Villa should have secured the points after Wheater crudely obstructed Young. It was a blatant penalty, although Bolton argued the ball had already gone out of play earlier in the build-up.
Jaaskelainen dived brilliantly to his right to save Young's spot-kick and the tone of the contest changed.
Bolton finally managed to build a sustained period of pressure and drew level when Cahill crashed a fierce left-foot shot beyond Friedel after the keeper parried his initial effort.
Croatia international Klasnic then struck the winner, drilling his strike beyond Friedel after a knock-down from Davies.
Bolton manager Owen Coyle on Gary Cahill:
"With his age, Gary is only going to get better. I believe he could play for any top team in world football. Gary could stand toe to toe with anyone.
"There will be a time when Gary has outgrown this football club and when that time comes it will take good money but he will go with my blessing.
"I will never stand in the way of anyone progressing. What Gary has to do between now and the end of the season is keep showing these top clubs what an unbelievable talent he is."
Aston Villa manger Gerard Houllier:
"We created so many chances we were cruising at one point and we could have been 4-1 or 5-1 up.
"I feel frustrated and disappointed but also a bit proud because taking the game to Bolton as we did was something special. We were maybe a bit naive against Cahill.
"In football you are a lucky manager when you have a performance and a result. Today we had the performance but not the result. We created nearly a dozen chances."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.