Wigan moved to within one win of the Super League grand final but were pushed all the way by a Hull side showing the sort of tenacity that could see off St Helens or Leeds when they get their second bite next weekend.
Stuart Raper's side had just enough ability, in the shape of players like Adrian Lam and Andy Farrell to get them home, but it could have been very different if their opponents had not lost their key man, Jason Smith early in the second half.
Wigan suffered a pre-match blow with Brett Dallas and Paul Johnson ruled out of their back line through injury, but still started as firm favourites against a side that had not beaten them on their home pitch for nine years.
Just how much that record might count for was underlined after just two minutes when Hull took the lead through Paul Cooke after Jason Smith and Paul King had engineered the opening. Matt Crowther added the goal and Wigan had reason to believe that they were in for a demanding evening.
It took the home side until the 12th minute to tie up the scores, when Andy Farrell took Terry Newton's pass after Adrian Lam had dummied his way almost to the line. Five minutes later, the former Hull winger, Brian Carney put Wigan ahead, after another good break by Lam.
Crowther narrowed the gap with a penalty as Hull showed they were full of enterprise and it was no surprise when they drew level through a David Maiden try six minutes before half-time.
The game was perfectly poised, but Wigan hit the front again just before the break, Kris Radlinski diving onto Lam's precise kick. That seemed decisive when Hull were badly hit by the loss of Tony Smith at half time, and his name sake Jason shortly after with what appeared to be a serious arm injury.
Yet Hull were far from dead and buried. Luke Felsch managed to twist over the line to reduce the arrears and they applied the pressure after that, but could not break through, a superb tackle from Radlinski necessary to stop Richard Horne.
With 13 minutes to play, Wigan gave themselves some breathing space with a Denis Betts try. Still Hull would not lie down, Lee Jackson timing his run onto Cooke's kick to cut the margin to two points once more.
Farrell chipped in with a dropped goal, but Wigan were made to sweat right until the end before booking their trip to Bradford next Sunday.
Wigan Warrioors: Radlinski, Carney, Renouf, Connolly, Hodgson, Johns, Lam, O'Connor, Newton, Howard, Cassidy, Furner, Farrell. Substitutes used: Cowie, Betts, Wild.
Hull FC: Prescott, Raynor, Horne, Maiden, Crowther, Cooke, T Smith, Broadbent, King, Felsch, Maher, Grimaldi, J Smith. Substitutes used: Jackson, Bird, Logan, Campbell.
Referee: R Smith (Castleford).