Lyon continued their poor run of form, losing their fifth match in six games, and were booed off the pitch by their fans.
An evenly played match, which saw both keepers make a few sublime saves, was decided by a single goal from Bart Ramselaar.
Milan's first win over Juventus since 2012 left Massimiliano Allegri frustrated with his side's attacking woes.
Matt Fondy scored the singular goal of the match for the Carolina Railhawks, toppling the surging Minnesota United.
Justin Braun was first on the score sheet in Indy Eleven's 3-0 win over Puerto Rico FC.
Porto cruised to victory over Arouca to go level on points with Benfica at the top of the Primeira Liga.