Lewis Hamilton fights back to pass both Valtteri Bottas and Max Verstappen to take a brilliant victory in the Portuguese Grand Prix.