Rhian Brewster then gave Swansea the lead for the first time in the closing stages, only for Tom Eaves to produce a dramatic stoppage-time leveller on a night when a combination of slick attacking play and extremely slack defending made for an absorbing contest.
Hull dominated the early stages, with Wilks twice going close in the opening four minutes.
Maddison's second-minute free-kick was headed back across goal by Josh Magennis and Wilks nodded over from six yards.
Two minutes later, the Barnsley loanee found himself in space on the right of the penalty area but flashed his shot wide from an acute angle.
Hull went ahead after six minutes, when Callum Elder's deep cross from the left found its way to Da Silva Lopes, who took a touch before firing home his first goal for the club.
Swansea drew level just eight minutes later following a flowing move which saw Bidwell reach the byline before cutting the ball back to Conor Gallagher, who beat a man in the area before squaring for Routledge to finish with the outside of his foot.
George Long had to be alert to parry away Gallagher's 20-yard effort and a Bersant Celina free-kick, before the Chelsea loanee headed over and Routledge hit the side-netting as Swansea began to take control.
Maddison restored Hull's lead five minutes after the break following a driving run, with Swansea failing to clear their lines after his initial 20-yard effort looped into the air and the former Peterborough forward smashed home from six yards.
This time Hull's lead lasted only five minutes, as Matt Grimes rolled a corner to an unmarked Naughton 12 yards out and he blasted the ball into the net.
Wilks gave Hull the lead for a third time when he rifled in the rebound after his initial header from a Dan Batty cross had been blocked.
Substitute Garrick levelled the scores again when he stabbed home Andre Ayew's low cross after 77 minutes amid more static defending.
Swansea took the lead for the first time with six minutes remaining, as Liverpool loanee Brewster turned a low effort past Long to seemingly snatch the three points.
Hull responded in stoppage time, however, when substitute Eaves poked home after being left unmarked in the six-yard box.