The Liverpudlian was attempting to avenge his maiden professional loss to the 41-year-old American, who stopped Price in their first meeting 134 days ago.
Price made a fast in the heavyweight clash, sending Thompson to the canvas in the second round with a short right hand.
Thompson quickly recovered, landing consistently as Price tired after a physical third round.
Late in the fourth round Thompson took charge, pressing his opponent against the ropes and landing with alarming regularity.
In the fifth round Price was unable to respond after falling foul of a clean shot to the temple, with the referee deciding that he was no longer able to continue soon after issuing a standing-eight count.
Price's record now moves to 15 victories and two losses, while Thompson has now earned back-to-back wins over the British prospect.