All eyes were on Milan striker Santiago Giménez, Feyenoord’s top scorer in the league phase of this competition, who jumped ship to the San Siro in January.
His return to De Kuip quickly turned sour however, as in just the fourth minute, Igor Paixão cut in from the left wing and hit a speculative effort from the corner of the penalty area, which Mike Maignan failed to deal with at his near post and the ball squirmed through him and into the net.
The greasy surface didn’t help the French goalkeeper, but at the other end, Timon Wellenreuther had no trouble keeping out strikes from Tijjani Reijnders and João Félix either side of the opening goal.
Tempers threatened to boil over around the 30-minute mark, when in quick succession Paixão and the visitors’ Rafael Leão went down in opposite penalty boxes, but referee José Sánchez waved both spot-kick claims away.
That seemed to spur Paixão on, who tried his luck from 25 yards with eight minutes left in the half, but his curling effort clipped the top of the crossbar.
The home side may be off the pace in the Eredivisie, but their strong UCL form looked set to continue when they made the better start to the second half. Thomas Beelen made Maignan work from a corner, before substitute Julián Carranza saw an effort flash wide after Paixão continued to weave his magic.
But Sérgio Conceição’s side found their feet in the final 20 minutes of the game – Reijnders sent a beautiful, dipping volley just over the bar, before Samuel Chukwueze, Strahinja Pavlović and Félix were all denied by the impressive Wellenreuther.
Ultimately, though, the Rossoneri fell short in their comeback efforts, as Feyenoord secured a seventh win in 12 home matches against Italian opposition, while Milan are now five games without a win when facing Dutch sides.
The two meet again in the second leg at San Siro next Tuesday, with Arsenal or Inter Milan lying in wait.