Cas came into Saturday’s game on the back of successive defeats, but never looked back after Weaver’s try put them in front after 15 minutes.
A penalty gave the home side good field position and Joe Stimson fed the Australian, who scored his fourth try of the year.
Laulu-Togaga’e and Qareqare both went over in the corner to add to the advantage, and Cini grabbed a high kick from Asi to put them 24 points to the good at the break.
Weaver scored a penalty before Asi showed determination to go over, and he then teed up Qareqare with a sharp pass.
Toulouse appeared to be heading for their heaviest defeat since the 46-0 home reverse by Hull KR in April, but they rallied late on.
Laguerre touched down from Thomas Lacans’ looping pass and Stefani got on the end of a kick, before Rouge added a fine solo effort in the final seconds.
Castleford will welcome York Knights on Friday, while Toulouse will host Leigh Leopards next Saturday.
Castleford: Laulu-Togaga’e, Senior, Cini, Mapapalangi, Qareqare, Asi, Weaver, Lawler, Golding, Dupree, Hirst, Mellor, Stimson.
Interchanges: Atoni, Lane, Robb, Brown.
Toulouse: Rouge, Laguerre, Polselli, Quai-Ward, Ulberg, Lacans, Shorrocks, Roumanos, Hands, Chan, Stefani, Jussaume, Cator.
Interchanges: Marion, Belmas, Toleafoa, Wallace.
Referee: Marcus Griffiths.






