Match ends, Walsall 1, Barnsley 3.
Barnsley booked their place at Wembley in the League One play-off final with an ultimately comfortable play-off second-leg win at the Banks's Stadium.
Adam Hammill's early close-range strike for the visitors was followed by Ashley Fletcher's second-half effort.
Walsall's Jordan Cook curled in a late right-foot reply from outside the box but Josh Brownhill pounced on an error to complete a 6-1 aggregate victory.
The Tykes will now face either Millwall or Bradford in the final on 29 May.
That meeting will be the Johnstone's Paint Trophy winners' second Wembley trip of the season.
After finishing 10 points adrift of Walsall in the end-of-season League One table, Barnsley's progression to the final also means all the Football League teams who most narrowly missed out on automatic promotion have now failed in the playoffs.
The Saddlers follow the example of the Championship's third-placed side Brighton and League Two's fourth-placed side Accrington Stanley in bowing out in the semi-finals - having all missed out on automatic promotion on the final day of their regular season.
More to follow.
Match ends, Walsall 1, Barnsley 3.
Second Half ends, Walsall 1, Barnsley 3.
Foul by Jordan Cook (Walsall).
Alfie Mawson (Barnsley) wins a free kick in the defensive half.
Jordan Cook (Walsall) wins a free kick on the left wing.
Foul by Jak McCourt (Barnsley).
Goal! Walsall 1, Barnsley 3. Josh Brownhill (Barnsley) right footed shot from the right side of the six yard box to the centre of the goal. Assisted by Lloyd Isgrove.
Foul by Rico Henry (Walsall).
Lloyd Isgrove (Barnsley) wins a free kick on the right wing.
Goal! Walsall 1, Barnsley 2. Jordan Cook (Walsall) right footed shot from outside the box to the top right corner. Assisted by Romaine Sawyers.
Substitution, Walsall. Anthony Forde replaces Tom Bradshaw.
Attempt missed. Ivan Toney (Barnsley) left footed shot from outside the box misses to the right. Assisted by Harry Chapman.
Substitution, Barnsley. Harry Chapman replaces Adam Hammill.
Foul by Adam Chambers (Walsall).
Jak McCourt (Barnsley) wins a free kick in the defensive half.
Attempt missed. Ivan Toney (Barnsley) left footed shot from more than 35 yards misses to the right.
Substitution, Walsall. Milan Lalkovic replaces Jordy Hiwula-Mayifuila.
Offside, Barnsley. Adam Hammill tries a through ball, but Ivan Toney is caught offside.
Substitution, Barnsley. Ivan Toney replaces Sam Winnall.
Substitution, Barnsley. Jak McCourt replaces Ashley Fletcher.
Jordy Hiwula-Mayifuila (Walsall) wins a free kick in the defensive half.
Foul by Ashley Fletcher (Barnsley).
Foul by Adam Chambers (Walsall).
Adam Hammill (Barnsley) wins a free kick in the defensive half.
Goal! Walsall 0, Barnsley 2. Ashley Fletcher (Barnsley) right footed shot from the right side of the six yard box to the centre of the goal. Assisted by Sam Winnall.
Attempt missed. Tom Bradshaw (Walsall) right footed shot from the centre of the box is too high. Assisted by Sam Mantom with a cross following a corner.
Corner, Walsall. Conceded by George Williams.
Corner, Walsall. Conceded by Josh Scowen.
Substitution, Walsall. Jordan Cook replaces Andy Taylor.
Corner, Walsall. Conceded by Adam Davies.
Attempt saved. Adam Chambers (Walsall) right footed shot from outside the box is saved in the bottom left corner. Assisted by Jordy Hiwula-Mayifuila.
Corner, Walsall. Conceded by Josh Brownhill.
Attempt blocked. Jordy Hiwula-Mayifuila (Walsall) right footed shot from the left side of the box is blocked. Assisted by Romaine Sawyers.
Corner, Barnsley. Conceded by Sam Mantom.
Attempt missed. Ashley Fletcher (Barnsley) left footed shot from the centre of the box is too high. Assisted by Adam Hammill with a cross.
Corner, Barnsley. Conceded by James O'Connor.
Attempt blocked. Ashley Fletcher (Barnsley) right footed shot from the centre of the box is blocked. Assisted by Lloyd Isgrove.
Attempt missed. Sam Mantom (Walsall) right footed shot from outside the box misses to the right. Assisted by Andy Taylor.
Jason Demetriou (Walsall) wins a free kick on the right wing.
Foul by George Williams (Barnsley).