The defeat keeps Roma fifth on 58 points with two matches to play, leaving them in danger of being caught by sixth-placed Udinese who are one point behind with a game in hand.
Roma can no longer catch AC Milan, who occupy the third and final Champions League berth, and must watch their backs as fifth place is the last guaranteed spot for the second-tier Europa League.
Chievo, who climbed to 12th on 43 points, offered little offensive threat for most of the game, showing why they have averaged less than a goal so far this season, but with 90 minutes on the clock they sprung a counter-attacking surprise.
Thereau ran on to Boukary Drame's cross from the left with perfect timing and volleyed home as Chievo reaped the rewards of several good saves by their keeper Christian Puggioni.
Roma had the best chance of a quiet first half with Puggioni smothering Pablo Osvaldo's 34th-minute volley after good work by captain Francesco Totti and Ivan Piris on the right.
The hosts picked up the pace at the start of the second half as Totti hit the bar and Mattia Destro's header was palmed away by Puggioni.
Chievo stayed in the game thanks to their solid defensive work with centre back Marco Andreolli sticking out a vital leg to deny Dodo a scoring chance after a one-two with Destro, before leaving it late to snatch the three points.
Roma also have a chance to grab a Europa League place when they play local rivals Lazio in the Italian Cup final on May 26.
Juventus sealed a second successive Serie A title on Sunday.
- Sports & Recreation
- Christian Puggioni