For long spells it threatened to become another night when Chelsea would rue their persistent habit of following every positive step with a costly stumble. Frank Lampard’s young side had lost another lead, fashioned when Tammy Abraham marked his 22nd birthday with his eighth goal of the season, and had spent most of the second half labouring in the final third and fretting about being caught by Lille on the break.

There is something about Chelsea in Europe, though, a refusal to fold, an ingrained ability to dig in and snatch victories in unlikely circumstances. And here, even with four academy graduates on the pitch, they still found a way to win. There were 78 minutes on the clock when young and old combined for the decisive blow, Callum Hudson-Odoi crossing from the left and Willian, making his 300th appearance for Chelsea, meeting the 18-year-old winger’s delivery with a volley that bounced into the ground and into the net.

The Brazilian had kickstarted Chelsea’s Champions League campaign. Despite offering few hints that a winner was on the way, they had broken Lille’s resistance. Beaten in their opening game in Group H, they had bounced back and drawn level on points with second-placed Valencia, who were beaten 3-0 at home by Ajax.

“There’s a long way to go but having lost against Valencia it put more importance on this game,” Lampard said. “It’s such a tough place, the roof was on, the crowd were up for it. I thought our performance was really good. We controlled the early period. Set pieces were a problem but we deserved to win.”

Lampard praised his youngsters for surviving their first experience of playing away in Europe, though there will have to be an improvement in possession and in defence when Chelsea visit Ajax on 23 October. Once again their marking at set pieces left much to be desired and they made life difficult for themselves when Victor Osimhen, Lille’s biggest threat, cancelled out Abraham’s opener with a free header in the 33rd minute. Kurt Zouma was at fault, losing the striker from Jonathan Bamba’s corner.

Chelsea have only kept one clean sheet this season and their back three endured some shaky moments. Zouma erred when the game was goalless, putting his team in trouble with a poor backpass that nearly let in Osimhen.Fikayo Tomori almost gifted Lille a late equaliser. Kepa Arrizabalaga, Chelsea’s goalkeeper, would also get away with one in stoppage time.

Arrizabalaga did make some important saves at crucial times, though, and Chelsea were able to focus on the positives in the end. They started well, with Lampard’s decision to switch to a 3-4-2-1 system giving his team control, and they were ahead after 22 minutes. N’Golo Kanté, fit to start in midfield after shaking off a hamstring injury, combined with Tomori, who found Abraham. Played a yard onside by Reinildo Mandava, the striker turned smartly and his accurate finish showed why he is likely to be called up by England on Thursday.

Tammy Abraham runs to the Chelsea fans after his early goal. Photograph: Nigel Keene/ProSports/REX/Shutterstock

“He got his cake earlier,” Lampard said. “We’re on the ball. Him and Michy Batshuayi, it’s both their birthday. We had two cakes for them last night. Tammy is hungry for goals, physical, but there’s improvement to be had. But for the minute he’s doing well. It was his first Champions League goal and I hope we’ll see many more.”

Chelsea’s inexperience began to show after Osimhen’s goal, even if they were close to regaining their lead when Jorginho clipped the woodwork from 25 yards. There had been a huge show of confidence from Lampard in Reece James, whose second appearance for Chelsea came a week after his goalscoring debut in last week’s Carabao Cup win over Grimsby Town, but Lille were quick to run at the 19-year-old right wing-back. James was booked before the interval for a lunge on Jonathan Ikoné.

The quality dipped during the second half and Christian Pulisic, a £58m signing from Borussia Dortmund, must have felt aggrieved not to have made the bench when he saw Chelsea huffing and puffing in the final third. There was also no place in the 18 for Ross Barkley, who had been forced to apologise for rowing with a taxi driver during a night out in Liverpool on Sunday.

Lampard made his first change in the 67th minute, replacing James with Hudson-Odoi, and the introduction of the winger led to an improvement. Mason Mount stirred, wriggling into the area and forcing Mike Maignan to save.

With 12 minutes left Hudson-Odoi ran at Lille on the left and lifted a deep cross to the far post, where Willian was watching and waiting. He drew his right foot back, met the cross on the full and Chelsea had their breakthrough.