Hull started the game in sensational style with three tries in the opening 15 minutes and should have been further in front but for some poor handling close to Wigan’s line.
Oliver Gildart instead cut the deficit before the break and John Bateman and Tomkins also touched down, but Hull finished the stronger and sensational tries from Jamie Shaul and Fetuli Talanoa sealed a deserved victory which takes them joint top of Super League with Warrington.
Joel Tomkins joined his brother in returning from injury as he lined up in the second row, with Bateman replacing Anthony Gelling at centre.
With Sam Tomkins starting from the bench, Dan Sarginson remained at full-back with Lewis Tierney missing out altogether.
Hull made just one change from the starting line-up that beat St Helens in the Challenge Cup, with Steve Michaels replacing Curtis Naughton on the wing.
They also welcomed back Sika Manu on the bench after international commitments with Tonga, while Frank Pritchard was suspended.
Hull did not allow Wigan to settle as first Marc Sneyd went over from close range, following good work from Pryce and Danny Houghton, before Michaels crossed in the corner thanks to slick hands from Pryce and Danny Washbrook.
Wigan were finding it increasingly difficult to break down a resilient Hull defence and they soon found themselves 16-0 down.
A wayward pass from Sarginson was knocked back infield by Gildart, but Mahe Fonua was the quickest to react and he sent former Wigan prop Scott Taylor racing 40 yards unopposed for Hull’s third try.
Sneyd added a penalty but the Warriors managed to pull a try back in the 27th minute when O’Loughlin and Willie Isa combined to send Gildart over. Matty Smith was off target with the conversion attempt as the home side now trailed by 14 points.
Wigan could have reduced the deficit even further before the break but Ryan Sutton dropped the ball in the act of scoring.
Sam Tomkins entered the fray on 35 minutes to a standing ovation as Wigan looked for him to get them out of trouble.
Wigan needed to score first in the second half to have any chance and they did that in the 54th minute when Bateman forced his way over from close range on the back of three successive penalties.
It was all Wigan now and they reduced the deficit to just two points with a try from who else but Sam Tomkins – the full-back had not done much since coming on but collected a ball from George Williams and threw a couple of dummies before eventually getting the ball down. Smith’s conversion made it 18-16 with 20 minutes remaining.
Just when it looked like Wigan were going to take control and take the points, Hull extended their lead to eight with a try from nothing.
A sublime offload from Liam Watts sent Shaul clear and he raced away before stepping Sam Tomkins and holding off a tackle attempt from Josh Charnley to touch down.
Sneyd converted from the touchline to make it 24-16.
Hull then put the game to bed two minutes later when the inspirational Pryce went on another crossfield run which bamboozled the Wigan defence and he sent a ball out to Talanoa, who acrobatically got the ball down in the corner.
Sneyd was unable to convert but did kick another penalty to make the final score 30-16.
The result lifts Hull up to second in the table, level on points with leaders Warrington, who have played a game less.
Wigan are fifth with 18 points, the same as Catalans Dragons in third, and fourth-placed St Helens.
Wigan: Sarginson, Charnley, Gildart, Bateman, Manfredi, Williams, Smith, Crosby, Powell, Mossop, J. Tomkins, Isa, O’Loughlin. Subs: S. Tomkins, Clubb, Tautai, Sutton.
Hull: Shaul, Michaels, Fonua, Yeaman, Talanoa, Pryce, Sneyd, Taylor, Houghton, Watts, Washbrook, Minichiello, Ellis. Subs: Manu, Green, Thompson, Bowden.
Referee: Ben Thaler (RFL).