First-half goals from Chris Maguire and Joel Ward sealed victory for Portsmouth against play-off chasing Hull.
The win lifts Michael Appleton's side off the bottom of the table with Pompey now just three points from safety after two wins from three games.
Maguire gave Pompey the lead lobbing keeper Vito Mannone before Ward's finish four minutes later made it 2-0.
Hull went close soon after with top scorer Matty Fryatt bringing a fine save from goalkeeper Jamie Ashdown.
The Tigers remain two points outside the play-off places but boss Nick Barmby will be worried that a third consecutive defeat represents an untimely slump at a crucial stage of the season.
Pompey started brightly with Tal Ben Haim sending a speculative effort wide while Ward dragged past the post and Varney agonisingly failed to make contact with a fizzing Maguire cross, but Portsmouth's pressure told in the 21st minute.
A measured pass from Scott Allan found Maguire, who raced into space and lobbed the stranded Mannone from a tight angle.
Mannone got down well to keep out a rasping Maguire effort moments later before he was forced to pick the ball out of his net for the second time in four minutes.
Maguire was the provider this time as his low centre caused panic in the Hull box. George Thorn took control and cut back for Ward to side-foot home.
Barmby's side almost reduced the arrears immediately as Fryatt capitalised on an error from Karim Rekik to bring a splendid save from Ashdown.
Hull displayed a good deal more intent as the second period got underway, but their attacks remained largely disjointed. By contrast, David Norris, Ward and Maguire all went close in a flurry of Pompey pressure around the hour.
Mannone stopped Maguire doubling his personal tally once more in the 69th minute when he clawed a 25-yard drive out of the bottom corner.
At the other end Robbie Brady curled a free-kick narrowly past the post, but Hull's late rally failed to materialise.
Portsmouth substitute Kelvin Etuhu almost added gloss to the scoreline when Maguire released him on the counter-attack, only for Jack Hobbs to get back well and produce a last-ditch block.
Portsmouth manager Michael Appleton:
"I was delighted. It was total dominance from minute one to 95. It was the best performance since I have been in charge by an absolute mile.
"I have never not believed. There are going to be lots of twists and turns and ups and downs in the next seven games. Who knows how many points we will need to stay up?
"Chris Maguire has had a fantastic night. He really enjoys playing and gets the same kick out of blocking a ball down the line as he does scoring goals."
Hull manager Nicky Barmby:
"Portsmouth were the better team. We were not good enough and they wanted it more than us.
"I apologise to the fans who made the long trip down. It was not us, so I am disappointed.
"It is not over and we are still in with a chance [of getting into the play-offs] so we will keep fighting. We will never give it up. Whoever is in the team I expect them to give a performance and win."
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +2:40
Free kick awarded for an unfair challenge on Tal Ben-Haim by Aaron Mclean. Jamie Ashdown takes the free kick.90:00 +1:55
Shot by Chris Maguire from deep inside the penalty area misses to the left of the target.90:00 +1:11
Jack Hobbs fouled by Marko Futacs, the ref awards a free kick. Vito Mannone restarts play with the free kick.90:00 +0:10
Inswinging corner taken left-footed by Robbie Brady from the right by-line, Headed effort from deep inside the area by Jay Simpson misses to the left of the goal.87:04 Substitution
Substitution Marko Futacs is brought on as a substitute for Luke Varney.84:48
Centre by Corry Evans, Jay Simpson has a headed effort at goal from just inside the penalty area that misses to the right of the goal.81:37
Chris Maguire produces a cross, save by Vito Mannone.80:03
Jay Simpson takes a shot. Blocked by Jason Pearce.79:46
Kelvin Etuhu takes a shot. Jack Hobbs gets a block in.79:09
Robbie Brady crosses the ball, Tal Ben-Haim makes a clearance. Corner from left by-line taken by Jay Simpson.76:31
Centre by Chris Maguire, Greg Halford takes a shot. Jack Hobbs gets a block in. Inswinging corner taken by Chris Maguire.76:31 Booking
Booking The referee cautions Liam Rosenior for unsporting behaviour.76:27
Foul by Liam Rosenior on Joel Ward, free kick awarded.74:45
The free kick is delivered left-footed by Robbie Brady from right channel, Joel Ward manages to make a clearance.74:45 Substitution
Substitution Kelvin Etuhu is brought on as a substitute for Scott Allan.74:45 Booking
Booking Karim Rekik is cautioned by the ref for unsporting behaviour.74:37
Karim Rekik challenges Cameron Stewart unfairly and gives away a free kick.74:15
The ball is crossed by Scott Allan, James Chester manages to make a clearance.73:04
David Norris sends in a cross, Paul McKenna makes a clearance. Outswinging corner taken from the right by-line by Scott Allan, save by Vito Mannone.
Free kick awarded for a foul by Jason Pearce on Jay Simpson. Paul McKenna takes the free kick. Robbie Brady takes a shot. Blocked by Greg Halford.71:18
The ball is swung over by Luke Varney.69:21
The official flags Joel Ward offside. Indirect free kick taken by Vito Mannone. Joel Ward challenges Paul McKenna unfairly and gives away a free kick. Robbie Brady shoots direct from the free kick.68:14
Effort on goal by Chris Maguire from 20 yards. Save by Vito Mannone. Corner taken right-footed by Scott Allan from the right by-line, Liam Rosenior manages to make a clearance.67:32
Corry Evans has an effort at goal from deep inside the area missing to the right of the goal.67:12
Joel Ward concedes a free kick for a foul on James Chester. Vito Mannone takes the indirect free kick.63:37
Scott Allan has an effort direct from the free kick.63:37 Booking
Booking Jack Hobbs is cautioned by the ref for unsporting behaviour.63:28
Foul by Jack Hobbs on Joel Ward, free kick awarded.61:11
Effort from the edge of the box by Luke Varney goes wide of the left-hand post.60:22
Joel Ward takes a shot. Save by Vito Mannone.59:35
David Norris takes a shot. Vito Mannone makes a save. Corner taken by Scott Allan played to the near post, clearance by Jay Simpson.57:10
Chris Maguire concedes a free kick for a foul on Corry Evans. Vito Mannone takes the indirect free kick.54:36
Inswinging corner taken right-footed by Scott Allan.53:28
Direct free kick taken by Jason Pearce.53:28 Substitution
Substitution Joshua King goes off and Jay Simpson comes on.53:28
Free kick awarded for a foul by Aaron Mclean on Jason Pearce.52:19
Free kick awarded for an unfair challenge on Chris Maguire by James Chester. Jason Pearce restarts play with the free kick.50:22
Free kick awarded for an unfair challenge on James Chester by Luke Varney. James Chester restarts play with the free kick.48:34
The ball is swung over by Paul McKenna.47:41
Free kick awarded for an unfair challenge on Joshua King by Karim Rekik. Free kick taken by Joshua King.47:10
Robbie Brady sends in a cross.45:01
The match restarts for the second half.45:01 Substitution
Substitution Aaron Mclean is brought on as a substitute for Matt Fryatt.45:01 Substitution
Substitution Corry Evans joins the action as a substitute, replacing Andy Dawson.45:00 +2:08 Half time
Half Time The half-time whistle blows.44:57
Matt Fryatt concedes a free kick for a foul on Greg Halford. Jamie Ashdown takes the free kick.44:24
Chris Maguire takes a shot. Vito Mannone makes a save.43:40
Foul by Tal Ben-Haim on Joe Dudgeon, free kick awarded. Direct free kick taken by Paul McKenna.41:39
Handball by Chris Maguire. Jack Hobbs restarts play with the free kick.39:08
Greg Halford concedes a free kick for a foul on Joshua King. The free kick is swung in left-footed by Andy Dawson, Luke Varney manages to make a clearance. Corner taken by Cameron Stewart played to the near post, clearance made by Greg Halford.38:05
Free kick awarded for an unfair challenge on Scott Allan by Joe Dudgeon. Greg Halford takes the free kick.35:57
Luke Varney concedes a free kick for a foul on Andy Dawson. Direct free kick taken by Jack Hobbs.34:00
Strike comes in from Chris Maguire from the free kick.34:00 Booking
Booking Andy Dawson receives a yellow card for unsporting behaviour.33:54
Foul by Andy Dawson on Scott Allan, free kick awarded.27:47
The offside flag is raised against Matt Fryatt. Jamie Ashdown takes the indirect free kick.26:54
Matt Fryatt takes a shot. Jamie Ashdown makes a save.26:41
Centre by Liam Rosenior, Jason Pearce makes a clearance.24:50
Assist on the goal came from David Norris.24:50 Goal scored
Goal! - Joel Ward - Portsmouth 2 - 0 Hull Joel Ward scores a goal from close range to the bottom right corner of the goal. Portsmouth 2-0 Hull.24:13
Chris Maguire takes a shot. Save made by Vito Mannone. Corner taken right-footed by Scott Allan, clearance made by Robbie Brady.23:12
Karim Rekik sends in a cross, Joel Ward gives away a free kick for an unfair challenge on Vito Mannone. Vito Mannone takes the indirect free kick.22:15
Liam Rosenior sends in a cross.21:57
Karim Rekik challenges Joshua King unfairly and gives away a free kick. Paul McKenna takes the direct free kick.20:18
Assist on the goal came from Scott Allan.20:18 Goal scored
Goal! - Chris Maguire - Portsmouth 1 - 0 Hull Chris Maguire scores a goal from deep inside the penalty area to the bottom left corner of the goal. Portsmouth 1-0 Hull.19:33
A cross is delivered by Chris Maguire.17:12
Matt Fryatt concedes a free kick for a foul on Jason Pearce. Jason Pearce takes the direct free kick.15:22
Joel Ward has an effort at goal from just outside the box which goes wide of the left-hand post.12:38
Corner taken by Scott Allan played to the near post, Joe Dudgeon makes a clearance.11:58
Liam Rosenior concedes a free kick for a foul on Joel Ward. Direct free kick taken by Karim Rekik.10:24
Inswinging corner taken by Scott Allan, Jack Hobbs makes a clearance.9:56
The assistant referee flags for offside against Robbie Brady. Indirect free kick taken by Greg Halford.9:02
The offside flag is raised against Jason Pearce. Vito Mannone takes the free kick.8:04
Paul McKenna gives away a free kick for an unfair challenge on George Thorne. Scott Allan restarts play with the free kick.7:28
Tal Ben-Haim has an effort at goal from outside the box which goes wide right of the target.7:14
A cross is delivered by Luke Varney.6:34
Joshua King fouled by Luke Varney, the ref awards a free kick. Free kick taken by Liam Rosenior.3:59
The ball is swung over by Luke Varney, Scott Allan takes a shot. Save by Vito Mannone.1:25
The offside flag is raised against Chris Maguire. Vito Mannone takes the free kick.0:00
The referee gets the match started.
Live data and text provided by our data suppliers