Sergio Aguero marked his return from a three-game ban for a wayward elbow as Manchester City won away to Swansea for the second time in a week after their EFL Cup victory in south Wales.
Aguero fired City into a ninth-minute lead at the Liberty Stadium but Swansea were level minutes later when Fernando Llorente lashed in a half-volley.
City, however, regained the lead with an Aguero penalty in the 65th minute after Mike van der Hoorn fouled Kevin de Bruyne in the box.
Raheem Sterling, using Aguero as a decoy, made it 3-1 in the 77th minute.
“Sergio is quality,” said Guardiola. “His first step, second step in the box is so good and that is why he is one of the best strikers in the world but I want to help him improve his game.”