Hull keeper Boaz Myhill kept out Danny Higginbotham's header before Liam Lawrence gave Stoke the lead with a shot that deflected in off Andy Dawson.
Ricardo Fuller hit the bar for the Potters but Ray Parlour almost levelled with a dipping shot from 25 yards.
Lee Hendrie wasted a golden chance to seal it for Stoke when he shot wide and Barmby punished them when he latched on to Jon Parkin's header to fire home.
Hull manager Phil Brown:
"It should have been a win because there was a decision which the referee admitted he got wrong. He told my players that if Forster's handball - as he adjudged it - had been outside the box then he would have got away with it. "But instead, our player has closed the goalkeeper, won the ball and the referee has ruled against our player because he sees Forster as gaining an unfair advantage. Why is it not an offence outside the box, but it becomes an offence inside?
"If our relegation fight goes to the last game then that is fine by me."
Stoke: Simonsen, Hoefkens, Fortune, Higginbotham, Griffin, Lawrence, Eustace (Russell 65), Matteo, Hendrie (Martin 88), Sidibe (Pericard 79), Fuller.
Subs Not Used: Hoult, Zakuani.
Booked: Matteo.
Goals: Lawrence 45.
Hull: Myhill, Ricketts, Turner, Delaney, Dawson, Parlour (Parkin 70), Ashbee, Peltier (Marney 23), McPhee (Barmby 66), Windass, Forster.
Subs Not Used: Duke, Coles.
Booked: Barmby. Goals: Barmby 90. Att: 17,109.
Ref: A D'Urso (Essex).