A late equaliser and penalty shootout defeat meant that it was Walsall who progressed in the Carabao Cup, knocking City out in the first round.
City went ahead five minutes before the break after a brilliant move in midfield. Pedro Borges controlled the ball and laid it off to Caleb Watts, who bombed down the right-hand side before fizzing the ball into the box for Millenic Alli to flick over the goalkeeper.
Walsall responded in the second half by piling pressure on City’s goal, and while Joe Whitworth kept the lead intact ahead with a superb penalty save, he could do nothing to stop the Saddlers’ late equaliser. That strike, in the absence of extra time, took the cup match to penalties.
Ilmari Niskanen saw his penalty saved while Alli’s struck the post, and Walsall only missed one to put their name in the hat for the second round draw.
Following the opening day victory against Rotherham, Gary Caldwell made six changes to his starting lineup, the most notable inclusion being 17-year-old Liam Oakes. The academy player wasn’t even in Exeter on Saturday, instead playing for the under-18s at Gillingham. Pedro Borges also came into the side for his first EFL Cup start, while Charlie Cummins was named on the bench for the first time.
Another change to the lineup, Cheick Diabate, nearly handed Walsall an early lead within the opening 60 seconds when he miscontrolled the ball on the edge of the box. Josh Gordon seized the opportunity with a first-time shot, but it was a straightforward catch for Joe Whitworth in City’s net.
City had plenty of possession in the early stages but failed to convert that into chances. Meanwhile, Walsall posed the greater threat early on; Whitworth had to be alert again 15 minutes in to hold a diving header from Evan Weir before Ronan Maher shot into the empty stand behind the goal.
That seemed to jolt the Grecians into action. A good run from Borges won a corner, and Reece Cole’s ball found Ben Purrington at the back post. His header seemed destined for the bottom corner, but it clattered off the post.
The Saddlers then came even closer to breaking the deadlock. Following a cleared corner, a cross to the back post found an unmarked David Okagbue, whose header into the six-yard box was met by Gordon’s knee, only for the ball to rebound off the inside of City’s post.
However, as the half progressed, City’s quality shone through, culminating in the opening goal.
Borges controlled a ball on the inside-right of Walsall’s half before playing in Caleb Watts on the wing. Watts drove to the byline and played a low ball into the box which Millenic Alli deftly flicked past the goalkeeper and into the back of the net for 1-0 at half-time.
Second half
The second half got off to a slow start, with City going closest through an attempted lob from Cole which was never troubling the Walsall goalkeeper.
A double substitution for City in the 70th minute allowed the Saddlers an opportunity to capitalise while the Grecians reorganised. Walsall change Liam Gordon set up his namesake Josh for a looping header which narrowly cleared the crossbar before J. Gordon then sent another chance wide.
Defending well, Ilmari Niskanen made several blocks and interceptions, including a superb diving header as the home side piled on the pressure in hunt of an equaliser.
That pressure paid off for Walsall, who won a penalty after a cross into the box was handled by Vincent Harper.
With many Saddlers expecting what they believed to be their imminent equaliser, Joe Whitworth had other ideas. Diving the right way, the Grecian's keeper palmed the ball onto the underside of the bar and then caught the rebound, keeping his 100% penalty save record in a City shirt.
Switching now to a back six with the introduction of Jack Fitzwater and Tristan Crama, City seemed tactically content to hold on to their one goal lead.
Walsall kept piling the pressure on though, and that paid off with a late equaliser in the 93rd minute from Jamie Jellis, who fired home from the edge of the box and the match headed to penalties.
Penalty Shootout
Josh Magennis gave City an early lead in the shootout after the Saddlers' skied their first. However, Niskanen's spot-kick was saved and then Alli's hit the post, giving Walsall the opportunity to win the shootout.
Whitworth couldn't repeat his in-game heroics, and the Saddlers scored all of their remaining kicks to progress into the next round.
City are back in League One action and on the road again this Saturday as they travel to Northampton Town, with a 3pm kick-off.
Walsall: Simkin, Barrett (Matt), Lakin (Earing), J. Gordon, Maher (Jellis), Allen ©, Williams, Stirk, Okagbue, Weir (L. Gordon), Adomah (McEntee)
Substitutes: Hornby, L. Gordon, McEntee, Farquharson, Matt, Earing, Jellis, Thomas, Wragg
Exeter City: Whitworth, Watts (Harper), Sweeney © (Fitzwater), Diabate, Purrington, Niskanen, McMillan, Oakes (Aitchison), Cole (Crama), Borges (Magennis), Alli
Substitutes: MacDonald, Crama, Fitzwater, Yfeko, Aitchison, Magennis, Harper, James, Cummins
Attendance: 2352 (323 away)