Hull City closed the gap on the Championship's top two to two points as Jake Livermore's late goal defeated managerless Reading at the KC Stadium.
Livermore fired in the winner in the 90th minute after a goalmouth scramble.
Nick Blackman finished a well-worked move with a powerful angled shot into the top corner to put Reading ahead.
Abel Hernandez tucked in a loose ball from six yards to equalise for the hosts after half-time before captain Livermore secured a last-gasp victory.
Hull had looked in danger of a second home defeat of the season at the interval as, with Martin Kuhl in caretaker charge for the second time, the Royals were good value for their half-time lead.
Danny Williams and Blackman were both denied by home goalkeeper Allan McGregor before the latter netted his 10th league goal of the season, while the winger also hit the crossbar with a free-kick.
Reading goalkeeper Jonathan Bond impressed in the second period, keeping out efforts from Moses Odubajo and Chuba Akpom before Hernandez equalised.
Hull's second-half dominance was rewarded by Livermore's late winner, and the Tigers held out for nearly eight minutes of stoppage time to clinch an eighth home win of the campaign.
Hull 2-1 Reading as it happened
Full Time Match ends, Hull City 2, Reading 1.
90:00 +7:50 Full timeFull Time Second Half ends, Hull City 2, Reading 1.
90:00 +5:45Attempt saved. David Meyler (Hull City) left footed shot from outside the box is saved in the bottom right corner. Assisted by Robert Snodgrass.
90:00 +4:49Corner, Reading. Conceded by Curtis Davies.
90:00 +4:48Attempt blocked. Jake Cooper (Reading) header from the centre of the box is blocked. Assisted by Oliver Norwood with a cross.
90:00 +4:15Foul by Harry Maguire (Hull City).
90:00 +4:15Matej Vydra (Reading) wins a free kick on the left wing.
90:00 +2:17Foul by Andrew Robertson (Hull City).
90:00 +2:17Nick Blackman (Reading) wins a free kick on the right wing.
89:42 Goal scoredGoal! Goal! Hull City 2, Reading 1. Jake Livermore (Hull City) right footed shot from the centre of the box to the top left corner. Assisted by Adama Diomande.
89:39Attempt saved. Shaun Maloney (Hull City) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Robert Snodgrass.
88:50Chris Gunter went off injured after Reading had used all subs.
88:46Delay over. They are ready to continue.
86:20Delay in match Chris Gunter (Reading) because of an injury.
85:57Foul by Moses Odubajo (Hull City).
85:57Chris Gunter (Reading) wins a free kick in the defensive half.
82:54 SubstitutionSubstitution Substitution, Hull City. Adama Diomande replaces Abel Hernández.
82:27Attempt missed. Jake Livermore (Hull City) right footed shot from outside the box is too high.
81:10Offside, Hull City. Robert Snodgrass tries a through ball, but Abel Hernández is caught offside.
78:41Attempt missed. Ahmed Elmohamady (Hull City) header from the centre of the box is close, but misses to the right. Assisted by Shaun Maloney with a cross.
Attempt saved. Robert Snodgrass (Hull City) left footed shot from outside the box is saved in the centre of the goal.
77:01 SubstitutionSubstitution Substitution, Hull City. Robert Snodgrass replaces Chuba Akpom.
76:08 SubstitutionSubstitution Substitution, Hull City. Shaun Maloney replaces Sam Clucas.
75:42Abel Hernández (Hull City) wins a free kick in the attacking half.
75:42Foul by Jake Cooper (Reading).
75:22Hand ball by Nick Blackman (Reading).
74:37Offside, Reading. Álex Fernández tries a through ball, but Matej Vydra is caught offside.
74:18 SubstitutionSubstitution Substitution, Reading. Hal Robson-Kanu replaces Garath McCleary.
72:28Corner, Hull City. Conceded by Jonathan Bond.
72:26Attempt saved. Chuba Akpom (Hull City) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Abel Hernández.
70:35Foul by David Meyler (Hull City).
70:35Álex Fernández (Reading) wins a free kick in the defensive half.
69:07 BookingBooking Jonathan Bond (Reading) is shown the yellow card for hand ball.
68:32Hand ball by Jonathan Bond (Reading).
66:43Offside, Hull City. Abel Hernández tries a through ball, but Chuba Akpom is caught offside.
66:00Attempt missed. Chuba Akpom (Hull City) right footed shot from the centre of the box is close, but misses to the left. Assisted by Andrew Robertson.
64:51 SubstitutionSubstitution Substitution, Reading. Jake Cooper replaces Anton Ferdinand because of an injury.
64:15Foul by Abel Hernández (Hull City).
64:15Paul McShane (Reading) wins a free kick in the defensive half.
63:34Attempt blocked. Abel Hernández (Hull City) left footed shot from the centre of the box is blocked. Assisted by Moses Odubajo.
62:30Delay over. They are ready to continue.
62:02Delay in match Anton Ferdinand (Reading) because of an injury.
61:09 Goal scoredGoal! Goal! Hull City 1, Reading 1. Abel Hernández (Hull City) left footed shot from very close range to the bottom right corner.
61:08Attempt saved. Ahmed Elmohamady (Hull City) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Sam Clucas with a cross.
59:38Attempt missed. Paul McShane (Reading) right footed shot from the left side of the six yard box misses to the left. Assisted by Oliver Norwood with a cross following a set piece situation.
58:50Foul by Curtis Davies (Hull City).
58:50Danny Williams (Reading) wins a free kick in the attacking half.
54:31Delay over. They are ready to continue.
53:44Delay in match Nick Blackman (Reading) because of an injury.
51:16 SubstitutionSubstitution Substitution, Reading. Álex Fernández replaces Andrew Taylor because of an injury.
50:06Attempt missed. Abel Hernández (Hull City) left footed shot from the centre of the box misses to the left. Assisted by Andrew Robertson with a cross.
49:29Attempt saved. Jake Livermore (Hull City) left footed shot from outside the box is saved in the centre of the goal.
47:34Foul by Harry Maguire (Hull City).
47:34Paul McShane (Reading) wins a free kick in the defensive half.
47:08Corner, Hull City. Conceded by Andrew Taylor.
47:03Attempt saved. Moses Odubajo (Hull City) right footed shot from the right side of the six yard box is saved in the centre of the goal.
45:34Corner, Hull City. Conceded by Chris Gunter.
45:00Second Half begins Hull City 0, Reading 1.
45:00 +1:36 Half timeHalf Time First Half ends, Hull City 0, Reading 1.
45:00 +0:41 BookingBooking Jake Livermore (Hull City) is shown the yellow card for a bad foul.
45:00 +0:36Foul by Jake Livermore (Hull City).
45:00 +0:36Michael Hector (Reading) wins a free kick in the defensive half.
42:38Nick Blackman (Reading) hits the bar with a left footed shot from outside the box from a direct free kick.
41:53Foul by David Meyler (Hull City).
41:53Michael Hector (Reading) wins a free kick in the attacking half.
40:05Attempt missed. David Meyler (Hull City) right footed shot from the centre of the box is close, but misses to the left. Assisted by Sam Clucas with a cross following a corner.
39:43Corner, Hull City. Conceded by Chris Gunter.
37:47Attempt missed. Garath McCleary (Reading) right footed shot from outside the box is too high.
35:37Matej Vydra (Reading) wins a free kick in the attacking half.
35:37Foul by David Meyler (Hull City).
33:08Attempt saved. Curtis Davies (Hull City) right footed shot from the left side of the six yard box is saved in the centre of the goal.
32:15Chuba Akpom (Hull City) wins a free kick in the attacking half.
32:15Foul by Oliver Norwood (Reading).
28:53 Goal scoredGoal! Goal! Hull City 0, Reading 1. Nick Blackman (Reading) left footed shot from the left side of the box to the top right corner. Assisted by Oliver Norwood.
28:18Foul by Abel Hernández (Hull City).
28:18Paul McShane (Reading) wins a free kick in the defensive half.
27:03Foul by Jake Livermore (Hull City).
27:03Danny Williams (Reading) wins a free kick in the defensive half.
26:22Attempt missed. Oliver Norwood (Reading) right footed shot from outside the box misses to the right. Assisted by Nick Blackman.
24:31Corner, Hull City. Conceded by Chris Gunter.
21:08Paul McShane (Reading) wins a free kick in the attacking half.
21:08Foul by Chuba Akpom (Hull City).
20:02Foul by Michael Hector (Reading).
20:02Chuba Akpom (Hull City) wins a free kick in the attacking half.
14:49Offside, Hull City. Moses Odubajo tries a through ball, but Chuba Akpom is caught offside.
10:15Corner, Hull City. Conceded by Michael Hector.
6:47Foul by Michael Hector (Reading).
6:47Abel Hernández (Hull City) wins a free kick in the attacking half.
5:52Attempt blocked. Paul McShane (Reading) header from the centre of the box is blocked. Assisted by Oliver Norwood with a cross.
5:04Attempt saved. Nick Blackman (Reading) left footed shot from the centre of the box is saved in the bottom right corner. Assisted by Matej Vydra.
5:04Corner, Reading. Conceded by Allan McGregor.
3:14Corner, Reading. Conceded by Allan McGregor.
3:12Attempt saved. Danny Williams (Reading) left footed shot from the centre of the box is saved in the bottom left corner. Assisted by Matej Vydra.
1:11Foul by Michael Hector (Reading).
1:11David Meyler (Hull City) wins a free kick in the defensive half.
0:00First Half begins.
0:00Lineups are announced and players are warming up.
Live data and text provided by our data suppliers