Wasps conceded three penalties in the opening 12 minutes and from the last of those, Sheedy put his side in front.
The game was being played in the middle third of the pitch and while Wasps built up some pressure, Sheedy's penalty was the only score of the first half.
The first try came two minutes after the restart as Bristol gave away possession and Umaga capitalised by sailing through a gap to run 30 metres and score.
The fly-half converted but Sheedy soon responded with his second penalty.
Wasps lost Thomas Young with a blood injury and in his absence Bristol regained the lead when Sheedy's well-judged pass gave Piutau the chance to run strongly and force his way over, with the fly-half converting.
The visitors' response was superb as a well-timed pass sent Fekitoa through a big gap in the Bears' defence and the impressive centre showed his class by dummying the full-back and going over.
Umaga successfully converted and moments later Wasps stunned their opponents with their third score when Zach Kibirige ran 50 metres to set up a try for Minozzi.
Thacker then finished off a line-out drive for Bristol's second and although Sheedy missed an easy conversion, he was on target with a penalty four minutes from time.
Bristol looked home and dry but Wasps broke out for Carr to perform heroics down the right-hand touchline and crash over for the winner, with Umaga adding some gloss to the win by kicking the extras.