Teenage defender Thompson converted from two corners after his mistake led to Mark Reynolds putting the visitors in front just after the halfway mark in the Scottish Premier League clash.
Celtic also had goalkeeper Lukasz Zaluska to thank as they moved eight points ahead of Dundee United in their quest to secure a Champions League qualifying spot.
Zaluska saved from Lukas Jutkiewicz as Motherwell carved out the best chance of the first half and, although Celtic eventually pushed their visitors back after the opener, the Pole made further important stops.
Celtic interim manager Neil Lennon made three changes following the Scottish Cup semi-final defeat with Georgios Samaras and Andreas Hinkel dropping out of the squad altogether with Marc-Antoine Fortune demoted to the bench. Mark Wilson, Niall McGinn and the fit-again Diomansy Kamara replaced them.
Celtic Park looked less than half full and, although the home players were afforded a good reception, there was a low-key atmosphere as Celtic enjoyed the bulk of possession without threatening until the 10th minute.
McGinn charged down Stevie Hammell’s clearance and crossed for Robbie Keane, but the ball was marginally behind the Irishman and he could not direct his header towards goal.
Motherwell lost Keith Lasley to injury a minute later with Giles Coke coming on, but they enjoyed a decent attacking spell which culminated in Steve Jennings having a shot blocked from 20 yards.
Aiden McGeady saw an enterprising run foiled by Michael Fraser at the goalkeeper’s near post but the visitors were enjoying their fair share of possession and came close in the 28th minute after Jutkiewicz had collected a long ball and turned Darren O’Dea.
The on-loan Everton striker fed Jamie Murphy, whose shot from the edge of the box was spilled by Zaluska, but Scott Brown scrambled the ball clear as Jutkiewicz tried to turn home the rebound.
Motherwell created an even better chance in the 33rd minute when Murphy showed good skill before releasing Jutkiewicz in the right channel, but Zaluska came out to block the striker’s low shot from 15 yards.
Celtic broke moments later but Keane dragged a difficult chance wide of the far post after McGinn’s pass and Fraser comfortably held McGeady’s long-range effort.
Motherwell took the lead three minutes after the restart when Thompson could only divert Tom Hateley’s free-kick into the path of Reynolds, who finished from six yards.
Thompson took just two minutes to atone though when he turned the ball into Fraser’s bottom corner from 12 yards after Brown had headed down McGinn’s corner.
Celtic looked to have been stung into action and McGeady shot just over from the edge of a crowded penalty box.
Motherwell almost shot themselves in the foot on the hour mark when Jim O’Brien lost the ball after Hateley’s short corner, allowing McGeady to break and send a diagonal ball into the path of Keane, but Fraser blocked his shot from 15 yards.
Celtic kept the pressure on and Fraser punched the ball into the path of Kamara 16 yards out but Steven Saunders, on moments earlier for Stephen Craigan, blocked the Fulham player’s shot in the six-yard box.
Motherwell were still dangerous when they got forward and Zaluska made another good save in the 75th minute when he blocked John Sutton’s header following O’Brien’s deep cross.
Celtic moved ahead in the 78th minute when Lee Naylor curled a corner into the six-yard box and Thompson headed powerfully home.
Keane was not far away with a well-executed volley from 25 yards before Jutkiewicz limped off and Chris Humphrey came on.
Zaluska had more work to do to ensure the three points, which mean Rangers cannot clinch the title at Tannadice tomorrow night, by rushing off his line to block from Murphy following Sutton’s header-on.