Paul McShane's header earned Hull City an impressive away victory over fellow promotion hopefuls Nottingham Forest.
A dull first half came to life just before the interval as both sides scored from the penalty spot.
Robert Koren put the Tigers ahead after David Meyler was upended by Simon Gillett, only for Billy Sharp to level after he was fouled by Alex Bruce.
McShane's 69th minute header, hotly disputed by Forest who claimed handball, ultimately proved decisive.
The defeat was Forest's second in a week following Tuesday's loss at struggling Ipswich and leaves them four points adrift of the Championship play-off places, while the Tigers have moved up to fourth place prior to Leicester's evening kick-off against Derby.
Hull had the better of what few chances were on offer in the opening 30 minutes, with Forest's Elliott Ward having to clear a corner from under his own bar and Meyler shooting into the side-netting.
The visitors took the lead from the spot when Koren sent Lee Camp the wrong way from the spot after Meyler was fouled.
But the Reds equalised when Sharp showed his composure with a powerful penalty into the top right-hand corner of the net.
Chris Cohen might have sent Forest into half-time ahead, but the midfielder blasted the ball over from close range after his initial flick from Andy Reid's cross was blocked.
The match improved slightly after the break with early chances at both ends.
Adlene Guedioura curled a shot just wide and had a goalbound effort blocked for the hosts while Ahmed Elmohamady shot straight at Camp.
Forest were dominating possession but creating little and the visitors made them pay when Koren's corner found McShane who bundled home from two yards.
Nottingham Forest manager Sean O'Driscoll:
"It was a tight game but they are a decent outfit who play good football and are difficult to play against.
"It was a bit of a chess match between us and I thought we were bright and intelligent and upped it a notch in the second half but conceded a goal that should not have been."
Hull City assistant manager Steve Agnew:
"We feel as though we should be competing at the top end of the division and where we are at the moment is very pleasing.
"What we have to do is find the consistency we would like to see over a period of time because when we have had a good run of results something has gone wrong.
"It would be nice if we could now take it on from this result and go through December remaining unbeaten."
Live Text Commentary
Full Time The referee ends the match.90:00 +4:09
Centre by Andy Reid, Header by Elliott Ward from deep inside the penalty area misses to the right of the target. Corner taken by Andy Reid.90:00 +2:05 Booking
Booking Liam Rosenior goes into the book for time wasting.90:00 +0:26
Nick Proschwitz concedes a free kick for a foul on Dexter Blackstock. Lee Camp restarts play with the free kick.88:40
Free kick taken by Lee Camp.88:40 Substitution
Substitution Liam Rosenior joins the action as a substitute, replacing Robert Koren.88:40 Booking
Booking David Meyler is shown a yellow card.88:23
Free kick awarded for an unfair challenge on Dan Harding by Nick Proschwitz.86:38 Substitution
Substitution Abdoulaye Faye comes on in place of Robbie Brady.86:38 Booking
Booking David Stockdale goes into the book for time wasting.85:29
Inswinging corner taken by Andy Reid.85:29 Booking
Booking Robbie Brady goes into the book for dissent.83:37
The referee blows for offside. David Stockdale takes the free kick.82:35
Foul by Alan Hutton on Corry Evans, free kick awarded. Robbie Brady restarts play with the free kick.80:55
James Chester challenges Andy Reid unfairly and gives away a free kick. Andy Reid delivers the ball from the free kick right-footed from left wing, clearance made by Paul McShane.79:55
Stephen Quinn is ruled offside. Free kick taken by Elliott Ward.74:18
Andy Reid crosses the ball from the free kick left-footed from right channel, Nick Proschwitz makes a clearance.74:18 Substitution
Substitution Dexter Blackstock comes on in place of Chris Cohen.74:18 Substitution
Substitution Lewis McGugan comes on in place of Simon Gillett.74:18
Corry Evans gives away a free kick for an unfair challenge on Simon Gillett.
Nick Proschwitz gives away a free kick for an unfair challenge on Elliott Ward. Elliott Ward takes the free kick.72:39
The ball is delivered by David Meyler, Danny Collins manages to make a clearance. Robert Koren takes a inswinging corner from the right by-line played to the near post, clearance by James Coppinger.71:41
James Coppinger challenges Corry Evans unfairly and gives away a free kick. James Chester takes the direct free kick.70:49
The referee blows for offside. David Stockdale restarts play with the free kick.68:12
The assist for the goal came from Robert Koren.68:12 Goal scored
Goal! - Paul McShane - Nott'm For 1 - 2 Hull Paul McShane finds the net with a headed goal from close in. Nottm Forest 1-2 Hull.67:26
Robert Koren takes the outswinging corner,66:09 Substitution
Substitution Aaron Mclean leaves the field to be replaced by Nick Proschwitz.64:03
Dan Harding concedes a free kick for a foul on David Meyler. David Stockdale takes the free kick.62:11
Billy Sharp concedes a free kick for a foul on James Chester. David Stockdale restarts play with the free kick.58:45
Corry Evans challenges Simon Gillett unfairly and gives away a free kick. Free kick taken by Simon Gillett.58:03
Andy Reid takes a shot from just outside the penalty area clears the crossbar.55:26
James Coppinger sends in a cross, clearance by James Chester. Inswinging corner taken left-footed by Chris Cohen from the right by-line to the near post, David Stockdale makes a save.52:58
Robbie Brady crosses the ball, blocked by Dan Harding. Inswinging corner taken from the right by-line by Robert Koren. James Chester handles the ball and concedes a free kick. Lee Camp takes the free kick. The referee blows for offside. Direct free kick taken by David Stockdale.51:54
Unfair challenge on Alex Bruce by Chris Cohen results in a free kick. David Stockdale restarts play with the free kick.51:12
Free kick awarded for a foul by James Chester on Andy Reid. Andy Reid takes the free kick.50:23
Long range shot from Robert Koren misses to the left of the goal.49:07
The ball is crossed by James Coppinger, James Chester manages to make a clearance.47:22
Inswinging corner taken left-footed by Andy Reid from the right by-line, save by David Stockdale.47:06
The ball is crossed by Ahmed Elmohamady, save by Lee Camp.45:45
Adlene Guedioura has an effort at goal from just inside the box that misses to the right of the target.45:01
The second half has started.45:00 +1:32 Half time
Half Time The whistle is blown to end the first half.45:00 +0:35
Outswinging corner taken left-footed by Andy Reid played to the near post, clearance by Ahmed Elmohamady.43:59
Chris Cohen challenges Robert Koren unfairly and gives away a free kick. Alex Bruce restarts play with the free kick.43:16
The offside flag is raised against Aaron Mclean. Elliott Ward takes the direct free kick.42:23 Goal scored
Goal! - Billy Sharp - Nott'm For 1 - 1 Hull Penalty taken right-footed by Billy Sharp and scored. Nottm Forest 1-1 Hull.41:33
Alex Bruce challenges Billy Sharp unfairly and gives away a Penalty.40:58
Inswinging corner taken from the right by-line by Andy Reid.40:36
The ball is delivered by Alan Hutton, clearance by Paul McShane.36:47
Adlene Guedioura has a shot and went wide left of the target.33:46 Goal scored
Goal! - Robert Koren - Nott'm For 0 - 1 Hull Robert Koren scores a placed penalty. Nottm Forest 0-1 Hull.32:13
Unfair challenge on David Meyler by Simon Gillett results in a Penalty.26:37
Corner taken right-footed by Corry Evans, clearance made by Elliott Ward.22:55
The ball is delivered by Ahmed Elmohamady, clearance by Elliott Ward.22:37
Robbie Brady produces a cross, clearance by Danny Collins.21:48
Simon Gillett fouled by Aaron Mclean, the ref awards a free kick. Simon Gillett takes the direct free kick.21:18
Chris Cohen fouled by Corry Evans, the ref awards a free kick. Elliott Ward takes the direct free kick.21:04
The ball is crossed by Ahmed Elmohamady, Elliott Ward makes a clearance.17:56
Centre by Robbie Brady, blocked by Alan Hutton.17:15
Free kick awarded for an unfair challenge on Aaron Mclean by Elliott Ward. Robert Koren restarts play with the free kick.12:24
Unfair challenge on Chris Cohen by Aaron Mclean results in a free kick. Chris Cohen crosses the ball in from the free kick, save by David Stockdale.11:56
Corner taken left-footed by Andy Reid.11:27
Andy Reid delivers the ball, blocked by James Chester.9:53
David Meyler fouled by Simon Gillett, the ref awards a free kick. Indirect free kick taken by David Meyler.4:24
The assistant referee signals for offside against Stephen Quinn. Free kick taken by Elliott Ward.0:26
The assistant referee signals for offside against Aaron Mclean. Danny Collins takes the free kick.0:00
The game gets underway.
Live data and text provided by our data suppliers