Toprak Razgatlioglu buscaba su segundo triplete en World Superbike con la Yamaha y Álvaro Bautista quería ampliar su liderazgo en el campeonato, mientras que Jonathan Rea buscaba su primera victoria en 17 carreras.
Fue Toprak quien tomó la punta en el comienzo, con Rea en segundo lugar y Bautista en tercero, pero el norirlandés tomó la delantera pasando a Razgatlioglu en la curva cinco. Michael Ruben Rinaldi y Alex Lowes se aferraban detrás de los tres primeros.
En la séptima vuelta, Toprak hizo un intento sobre el de Kawasaki en la curva uno, para volver a tomar el liderazgo de la carrera y Álvaro se acercaba marcando la vuelta más rápida de la carrera. En la décima vuelta con la potencia de la Ducati, Bautista se hacía con el liderazgo de la carrera.
Toprak atacó a Bautista en la curva 13, pero el español pudo defenderse al frente y mantener la posición. Bautista aumentó el ritmo y logró escaparse.
Álvaro Bautista fue el ganador de la Carrera 2 en Portimao, por delante de Toprak Razgatlioglu y Jonathan Rea, el lo que fue el 16º podio conjunto de la temporada. Michael Ruben Rinaldi, Alex Lowes, Andrea Locatelli, Scott Redding, Xavi Vierge, Garrett Gerloff y Loris Baz, completaron los diez primeros. El argentino Leandro «Tati» Mercado (Honda) concluyó la competencia en el puesto 20°.