The Toffees took the lead in freak circumstances in the 63rd minute when Howard beat opposite number Adam Bogdan with a clearance from his own box.
However, David Ngog made it 1-1 four minutes later with a smart finish, before Cahill — once again named as Trotters captain despite a fee for him being agreed with Chelsea — smashed in the winner with 12 minutes remaining.
With talks ongoing over his proposed move to Chelsea, it had been a matter of interest as to whether or not Cahill would play, and in the end, manager Owen Coyle’s decision to hand him the skipper’s armband paid off handsomely.
Jussi Jaaskelainen was unable to keep his place due to injury and was replaced in goal by Bogdan, while the tricky Chris Eagles came in for Ivan Klasnic.
For Everton, Landon Donovan, eligible to play for the Toffees for the first time since rejoining them on another two-month loan deal, came straight into the attack along with Denis Stracqualursi, who was making his first league start.
Donovan’s first contribution was to win a free-kick in the opening minute which was curled into the danger zone by Leighton Baines but bounced harmlessly off Stracqualursi and behind.
The lively Donovan then laid the ball to Leon Osman, whose shot from outside the box was gathered by Bogdan, while Knight then slid in to beat Stracqualursi at the near post.
Phil Jagielka sustained an injury in the incident which led to him being substituted soon after, Jack Rodwell the man to take his place.
The Toffees were then left fuming in the 44th minute when Donovan went down in the box under the attentions of Sam Ricketts and referee Phil Dowd waved away their strong appeals for a penalty.
Three minutes after the restart Baines’ corner came off Bogdan to Rodwell, who was unable to poke the ball in and like Osman, soon had to come off.
Howard then produced two good saves, tipping away efforts from Mark Davies and Ngog, before pulling off something even more spectacular.
The American lofted a huge kick down field which — assisted by the strong wind — travelled towards the Bolton box and bounced over the stranded Bogdan into the net.
It was a shock blow for the visitors, but they responded well to equalise quickly, Ngog turning and slotting the ball into the corner.
Cahill then vindicated Coyle’s decision to play him by snatching what proved to be the decisive goal.
Everton failed to clear a set-piece properly and Eagles laid the ball off to the England international, who fired past Howard.
EVERTON: Howard, Hibbert, Jagielka (Rodwell 42), Distin, Baines, Donovan, Neville, Heitinga, Osman (Gueye 53), Stracqualursi, Saha, Rodwell (Cahill 61).
BOLTON: Bogdan, Steinsson, Cahill, Knight, Ricketts, Mark Davies, Muamba, Reo-Coker, Petrov, Eagles (Pratley 81), Ngog
Ref: Phil Dowd (Staffordshire).
TIM HOWARD last night joined a select group of goalkeepers to have scored in the Premier League. Here are the others.
Peter Schmeichel, 20 October 2001: The legendary Dane became the first goalkeeper in Premier League history to score a goal when he fired home in Aston Villa’s 3-2 defeat to Everton at Goodison Park.
Brad Friedel, 21 February 2004: The American looked to have rescued a point when he scored a last-gasp equaliser for Blackburn against Charlton. However the Addicks spoiled the fairytale by scoring an even later goal to seal a 3-2 win.
Paul Robinson, 17 March 2007: The former England number one scored a sensational goal from a goal kick in Tottenham’s 3-1 win over Watford.