Kevin Sinfield edged the visitors ahead with a penalty after the break, but Makinson was able to stretch for the corner for St Helens' second try of the match, giving the home side the lead for the first time, before collecting a chip forward for his second inside the final three minutes.
The French side made a bright start to the match, with Morgan Escare and Ben Pomeroy both scoring tries in the opening 15 minutes, but a Matthew Bowen effort kept the defending champions in contention at the break.
Catalan initially extended their lead at the start of the second half, but Josh Charnley and Liam Farrell both went over to level the scores with 12 minutes left to play, before Bowen added his second in the final seconds.
Salford applied pressure late on as they looked to overturn Hull's lead, but the home side's defence held firm to secure the win.
Results in full: Hull FC 30-8 Salford Red Devils, St Helens 14-10 Leeds Rhinos, Wigan Warriors 22-16 Catalan Dragons