Chelsea required penalties to get past Aston Villa and progress to the fourth round of the Carabao Cup on Wednesday night.
Timo Werner gave the Blues a second-half lead which was soon cancelled out by Cameron Archer. The game eventually went to penalties with Reece James smashing home the decisive kick to send his side through.
The first half was a close affair with both sides largely cancelling each other out. Chelsea had little in the way of chances but Villa did spurn a handful of decent opportunities.
Young striker Cam Archer was guilty of some loose finishing but Anwar El-Ghazi also had an effort cleared off the line by Reece James just before half time.
Nine minutes after the restart Chelsea took the lead when Reece James curled a delicious cross to the back post and Timo Werner was there to nod home. A few minutes Werner then missed a great chance to make it 2-0.
The Blues were made to rue their wastefulness when Archer redeemed himself for his poor first-half finishing by heading Matty Cash's cross past Kepa Arrizabalaga. Chelsea introduced star man Romelu Lukaku as they looked for the winner but they closest they came was when Mason Mount poked the ball past the far post.
This meant the game went to penalties.
Ashley Young and Marvelous Nakamba both missed for the Villans, giving Ben Chilwell the chance to win the seal the game - but he could not convert. Fortunately for the Blues, England teammate James did bring his shooting boots, sending them into the fourth round with the tenth and final spot kick.
Here are your player ratings for both teams from Stamford Bridge...
Chelsea player ratings
1. Goalkeeper & defenders
Kepa Arrizabalaga (GK) - 7/10 - Came up for a couple of impressive stops before the break. The shootout hero.
Reece James (CB) - 9/10 - Made a vital goal line clearance on the stroke of half time. Created the goal with a fine cross. He was superb and scored the winning penalty.
Trevor Chalobah (CB) - 7/10 - Excellent. He is turning into a real classy operator. Expect him to break back into the first team at some point this season.
Malang Sarr (CB) - 5/10 - A bit over-enthusiastic on his debut. He was booked in the first half and his timing in the tackle was poor throughout.
2. Midfielders & wing-backs
Callum Hudson-Odoi (RWB) - 7/10 - Most of his side's attacks came down his side.
N'Golo Kante (CM) - 6/10 - Busy and creative before being taken off at the break ahead of the Man City game this weekend.
Ruben Loftus-Cheek (CM) - 6/10 - Encouraging performance. Certainly has enough to be a squad player.
Ben Chilwell (LWB) - 5/10 - Crossing was poor but he defended fairly well. Missed his penalty.
Hakim Ziyech (RW) - 5/10 - Created space to fire off one of Chelsea's only chances in the first half. Needed to do more to troubled the current first-choice XI.
Timo Werner (ST) - 7/10 - Made the runs consistently and pressed enthusiastically. Took his goal well...and then missed a huge chance just after.
Saul Niguez (LW) - 5/10 - Moved into midfield when Mount came on. Fared better than he did on his debut but still not great.
Mason Mount - 5/10 - Missed a big chance, but did score from the spot.
Ross Barkley - 6/10 - Came on, looked busy and slotted home from 12-yards.
Romelu Lukaku - 6/10 - Scored his penalty, because of course he did.
Aston Villa player ratings
5. Goalkeeper & defenders
Jed Steer (GK) - 5/10 - Looked a bit suspect at times, spilling several shots.
Matty Cash (RB) - 7/10 - Sumptuous ball in for Archer's goal. Another name to add to England's ever-growing list of talented right-backs, although he could be playing for Poland soon.
Axel Tuanzebe (CB) - 7/10 - Did well, playing a big part in stifling Chelsea going forward.
Kortney Hause (CB) - 8/10 - Huge performance at the heart of the Villa backline.
Ashley Young (LB) - 5/10 - Showed his age at times. Ziyech left him from dead on more than one occasion. Missed his spot kick.
Marvelous Nakamba (CM) - 5/10 - The game largely passed him by. Passing was not great.
Morgan Sanson (CM) - 7/10 - Taken off just before the break after suffering an injury. Did well before that.
Emiliano Buendia (AM) - 5/10 - Decision making was lacking. Needs to start justifying his price tag.
Bertrand Traore (RW) - 7/10 - Looked dangerous with his direct dribbling before being taken off, likely with this weekend in mind.
Cameron Archer (ST) - 7/10 - Yes, he's inexperience but he still missed some decent chances in the first half. Made up for that with a fine goal after the break.
Anwar El-Ghazi (LW) - 6/10 - A few bright moments. Had an effort cleared off the line that he should have finished.
Carney Chukwuemeka - 6/10 - Introduced earlier than he might have expected but the youngster coped well with the pressure.
Jaden Philogene-Bidace - 6/10 - A mature display from the 19-year-old.
Ezri Konsa - 6/10 - Scored a fine penalty in the shootout.
Source : 90min