Johann Berg Gudmundsson ensured Manchester City rued their profligacy with a half-volley that grabbed Burnley an impressive draw against the champions-elect.

Raheem Sterling was City’s prime culprit missing a series of easy chances, the last of which came inches out of an open goal, apparently moving Pep Guardiola to replace him for the final quarter.

The manager, though, said this was not the reason. “No, it is football. Next day he is going to score. Today he missed. That is football. That can happen. We played so good, we just missed the last moment to try to score the second one and playing away in the Premier League, in the last 10 minutes anything can happen. I’m so happy for the performance, it was outstanding overall.”

Ilkay Gündogan, Sergio Agüero and Kevin De Bruyne were also guilty of spurning chances, though given City’s lead Guardiola is hardly concerned. He will also be happy that after leading a City chorus of complaints about dangerous tackles, none were meted out here.

Guardiola had surprised by naming only six substitutes, his reasoning being that as seven players were ill or injured he did not have any more. This meant that despite the £200m spend on the City Football Academy Guardiola decided against taking an elite development squad player as the EDS side played on Friday. It seemed odd, because the experience gained of mixing with talents such as Agüero and De Bruyne would surely have been invaluable.

Asked if an under-23 player might have joined up after playing, Guardiola said: “Maybe but we decided they are not going to play.”

Sean Dyche made two changes from the midweek draw at Newcastle United. Sam Vokes and Aaron Lennon – making a full debut – came in for Scott Arfield and Ashley Westwood. Guardiola brought in Vincent Kompany for Aymeric Laporte, Danilo for Oleksandr Zinchenko and Gündogan for the injured David Silva.

Danilo proved the sole City player whose radar was not awry. Midway through the first half, Bernardo Silva fed the left-back and he stepped inside and let fly a 20-yard scorcher that was always beating Nick Pope to his left, Burnley allowing the Brazilian space to work in.

At this stage, Burnley may have feared the kind of steamrollering City can hand out. Twice Agüero broke. First, he took the wrong option in shooting when Sterling was free. Then the Argentinian did feed the winger but his effort went straight at Pope.

As the half-hour passed Burnley finally troubled Ederson, the goalkeeper saving a Ben Mee effort. The home captain had the next chance, too, but he headed wide from a corner.

This succour for Dyche’s men faded as City swept forward. Kevin Long was booked for a challenge on Gündogan and moments later De Bruyne was in prime position to pot City’s second but could find only Pope, with Agüero unable to slot home the rebound.

De Bruyne then fashioned one of his specials: a curving right-to-left pass that sliced apart Burnley and landed at Agüero’s feet. The No 10 should have added a 25th goal of the season but got his feet wrong and the danger faded.

Dyche brought on Matthew Lowton for Phil Bardsley at half-time and the right-back had an immediate impact, pinging the ball towards Ashley Barnes, Kompany stooping to clear.

At the other end Lowton was a saviour, too, his back ensuring Agüero’s attempt was deflected away. Three corners followed but there was no second City finish and Guardiola was later left fuming at Sterling sailing the ball high with the goal at his mercy.

Dyche surely felt the same when Danilo was again allowed time and acreage to let fly at Pope; a shot that warmed his fingers.

Soon after came Sterling’s most glaring miss, putting the ball wide. Then, from Lowton’s free-kick the Icelander Gudmundsson equalised, to leave City wondering what might have been.

A contented Dyche, whose side had been beaten by three goals at the Etihad in both the league and FA Cup, said: “It is a very good point. We have lost to City twice. We stayed in it and you have to. Then we grew into the game.”