Team CatalunyaCaixa Repsol’s Marc Marquez took victory at the Grande Prémio de Portugal Circuito Estoril after a phenomenal last-lap battle with compatriot Pol Espargaró.