The former Wigan winger scored twice in the first half then added a third with 10 minutes remaining as Paul Rowley’s men made it back-to-back wins.
Castleford winger Balami Qareqare got a brace in reply but it was not enough for Lee Radford’s side, who finished the game with 12 men following a yellow card for Adam Milner, 10 minutes from time.
Castleford made the perfect start with a try in the third minute. Jake Trueman and Gareth O’Brien combined and sent Ryan Hampshire in at the corner – but O’Brien was unable to add the conversion.
The home side responded in the 17th minute when Tim Lafai was able to touch down a kick-through by Marc Sneyd, while Sneyd’s conversion edged Salford in front.
An O’Brien penalty saw the scores tied at 6-6 before a brace from Burgess saw the game swing decisively in favour of the home side.
Castleford made a bright start to the second half and scored their second try in the 48th minute as winger Qareqare found himself in space on the left.
Croft and Callum Watkins combined to send Deon Cross in at the corner for a try which Sneyd converted.
Qareqare claimed his second try after a brilliant finish with 18 minutes remaining as the video referee overruled the onfield decision by referee Liam Moore.
Salford: Escare, Sio, Cross, Lafai, Burgess, Croft, Sneyd, Ormondroyd, Ackers, Akauola, Livett, Watkins, Taylor. Substitutes: Dupree, Addy, Bourouh, Lannon.
Castleford: Hampshire, Olpherts, Mamo, Fonua, Qaraqare, Trueman, O’Brien, Griffin, McShane, Smith, Lawler, Edwards, Westerman. Substitutes: Milner, Blair, Massey, Matagi.
Referee: Liam Moore (RFL).