Danny Ings struck for Southampton whilst Theo Walcott levelled the match, which ended 1-1, five minutes from full-time.
Angus Gunn then saved Walcott’s fifth-round penalty, before Cedric converted to send Southampton into the last 16.
Mark Hughes made six changes to his side that lost at Wolves in the Premier League on Saturday, including Gunn, who made a trio of spectacular saves during regular time.
Gunn prevented Bernardo from securing an opening goal when he got down low to push aside the attempt, with Everton overcoming a slow start.
The Englishman denied Ademola Lookman and Oumar Niasse second-half chances to help preserve a 1-0 lead, as Ings had fired Saints in front on the stroke of half-time.
Jack Stephens and Steven Davis came close to doubling the lead, before Walcott equalised from the right edge of the penalty area.
Richarlison skied his penalty after full-time and Matt Targett gifted Everton a second chance, but Gunn and Cedric combined in the fifth round for Southampton.
Everton: Stekelenburg, Baines, Zouma, Keane, Kenny, Schneiderlin (Walcott 78), Davies, Bernard, Dowell (Niasse 45), Lookman (Richarlison 60), Tosun.
Unused subs: Joao Virginia (GK), Digne, Holgate, Gueye.
Goals: Walcott (85).
Bookings: Schneiderlin (39).
Southampton: Gunn, Targett, Stephens, Bednarek, Yoshida, Hojbjerg, Lemina, Redmond, Gabbiadini (Davis 73), Ings.
Unused subs: Lewis (GK), Hoedt, Romeu, Ward-Prowse, Armstrong, Austin.
Goals: Ings (44).
Bookings: Bednarek (79).