Jamie McCombe's second goal in three matches helped Bristol City move to the top of the Championship and dent Hull's play-off prospects in the process.
Striker Dele Adebola gave the home side the lead on 14 minutes, capitalising on a defensive mix-up.
But an own goal from Liam Fontaine - via Ian Ashbee's shot - brought the visitors level just before half-time.
But defender McCombe clinch the points when he volleyed Marvin Elliott's header past goalkeeper Boaz Myhill.
"In fairness, Jamie did well in shooting practice this week. I can only call it a sublime moment, which no-one will forget for a long time.
"It's great to be in pole position with only 11 games left. We have believed in ourselves from day one, and nothing has changed."
"But we didn't have that bit of luck where it mattered.
"We played well, but lacked that bit of quality in the final third, which is so important."
Bristol City: Basso, Brian Wilson, McCombe, Fontaine, McAllister, Sproule (Noble 81), Johnson (Vasko 90), Elliott, McIndoe, Carle, Adebola.
Subs Not Used: Weale, Trundle, Byfield.
Booked: McAllister.
Hull: Myhill, Ricketts, Clement, Brown, Dawson, Garcia (Okocha 55), Ashbee, Marney (France 63), Pedersen, Folan, Campbell.
Subs Not Used: Tyler, Walton, Featherstone.
Booked: Ricketts, Ashbee.
Att: 15,859
Ref: Clive Penton (Sussex).