Roman Zozulia gave the home side a deserved lead in the 61st minute and Andriy Yarmolenko scored from the penalty spot with eight minutes left after Laurent Koscielny had brought down Zozulia inside the area.
Arsenal defender Koscielny was then sent off following a clash with Oleksandr Kucher at the death, before the Ukrainian defender was also dismissed as tensions between the teams spilled over.
Nevertheless, Ukraine were worthy of their win and, having denied France an away goal, are now strong favourites to go through to their second World Cup finals. “It is hard to lose 2-0 when we had more of the ball and shots,” said France coach Didier Deschamps.
Photos: SRK does garba, Nawazuddin takes 'shower' in bathtub
Photos: Soha Ali Khan, Evelyn Sharma, Urvashi Rautela at Mumbai airport
Spotted: Lara Dutta, Mahesh Bhupathi with their daughter in Bandra
Photos: SRK, Tamannaah Bhatia, Varun Dhawan at Mehboob Studio
Birthday special: Sushant Singh Rajput's journey from TV to films