Oscar Piastri claimed victory at the end of a captivating Azerbaijan Grand Prix, narrowly beating Charles Leclerc to the chequered flag in a race-long, multi-car battle on the streets of Baku, as Sergio Perez and Carlos Sainz dramatically crashed out late on.