Salford will make their first Wembley appearance in 51 years after fighting off a valiant Warrington side in the closing moments.
In-form Dan Sarginson had his two-match suspension overturned on Tuesday and made his immediate return, but Luke Yates was unsuccessful in his appeal.
Danny Walker maintained his place after an outstanding performance on Tuesday, while Stefan Ratchford celebrated his 250th Warrington appearance.
Mark Flanagan was sin-binned for a tackle below the legs, so Ashton immediately utilised their one-man advantage as he threw a short pass to Toby King on an overlap. Ratchford converted, then added a penalty.
An Ashton mistake put Salford on the board; Kallum Watkins bided his time to ground the ball, with Krisnan Inu adding the extras.
Blake Austin capitalised on Salford’s ill-discipline, a set restart and Sarginson knock-on, with a signature show-and-go through the line. Gareth Widdop’s conversion put the half-time score at 8-14.
Kevin Brown’s precise lofted kick was taken excellently by Inu, but his conversion was missed and Salford continued to trail.
Widdop’s penalty goal keep the scoreboard ticking, while Ben Murdoch-Masila barged his way over to extend their lead to two scores.
Joey Lussick barged over from dummy-half under the posts; Inu converted to give Salford the lead for the first time.
Salford: Sarginson, Williams, Watkins, Welham, Inu, Lolohea, Brown, Mossop, Lussick, Dudson, McCarthy, Greenwood, Flanagan; Subs: Burke, Ikahihifo, Kear, Pauli
Warrington: Ashton, Mamo, King, Gelling, Charnley, Ratchford, Widdop, Hill, D. Clark, Cooper, Currie, Hughes, Austin; Subs: Murdoch-Masila, J. Clark, Philbin, Walker