The 29-year-old was considered one of the brightest prospects in heavyweight boxing, and was a big favourite against his 41-year-old opponent.
Thompson, though, who had only lost twice since 2000 - both times to Wladimir Klitschko - had other ideas and ended Price's unbeaten record in front of a 6,000 strong Liverpool crowd.
After a cagey opening round, Price started to dominate, pushing his opponent into a corner and landing several punishing body blows.
Thompson took them well and forced Price back into the centre of the ring, where the two traded blows.
Then, to the disbelief of almost everyone in the arena, the American caught Price on the side of the head with a short right hook which sent the Liverpudlian crashing to the canvas.
Price did manage to get up but was in no fit state to continue and the referee stopped the fight after two minutes and 17 seconds of round two.