It is a measure of Manchester City’s divine attacking rhythm of the last few months that a goalless draw away from home against Crystal Palace will be hailed as a minor triumph for the Premier League title race, such as it is.

Above all, this was a fine afternoon for Palace and for Roy Hodgson, whose team produced a performance of real energy and ambition, more than playing their part in a thrilling afternoon. Palace even managed to miss a penalty, Ederson saving Luka Milivojevic’s poor kick with two minutes left. Victory would perhaps have been an injustice given the ease with which Wilfried Zaha tumbled like broken reed under Raheem Sterling’s gentle challenge.

More concerning for City fans was the sight of Kevin De Bruyne being carried off towards the end in real pain having been scythed down by a horrible challenge from Jason Puncheon, although he was said to be up and walking after the game. Earlier Gabriel Jesus had also limped off in obvious distress having pulled up holding his knee under no pressure. Guardiola suggested he could be out for “a month or more”. City have a wonderful depth of attacking riches but De Bruyne, in particular, is irreplaceable in his current form.

This was a significant occasion in other ways as Manchester City came to Selhurst Park on the verge of eclipsing Pep Guardiola’s personal best winning streak of 19 league games with Bayern Munich. It will perhaps be a point of pride for the Premier League that Palace were able to resist the outstanding domestic club team of the last few years with such verve. Perhaps others will learn from the boldness and energy of their approach.

New Year’s Eve is, of course, a time to remember old acquaintances, outlines dimmed by the mist of memory. For Manchester City this includes those billed until quite recently as their closest rivals. A draw here still leaves them 14 points clear of last year’s champions and 15 points clear of José Mourinho’s Manchester United. A moment, ladies and gentlemen, to remember absent friends.

The last day of the year did at least bring something new as Palace showed there is a way to play this beautifully grooved City team that does not involve simply sitting back waiting for the blow to fall. Selhurst Park had a raucous, clattery carnival air at kick-off. And in the first half Palace pushed upfield with a contained fury that put the passivity of Newcastle United on Wednesday to shame.

Hodgson had set out his team with a back four and two holding midfielders, but this was far from a pure defensive operation.

The plan was clear enough as Palace funnelled early passes to Zaha in the hope of getting the Thornton Heath flyer in a foot race with Nicolás Otamendi. Otamendi may be many things – imposing obstacle, Class A man-to-man wrestler – but dainty on his feet is not one of them.

Luka Milivojevic has his penalty saved by Ederson. Photograph: Catherine Ivill/Getty Images

For the first time in a while City looked pressed in the areas where they like to shift the play and wear an opponent down. David Silva’s ability to yawn his way through any press, no matter how well-mustered, is not to be underestimated.

With eight minutes gone Palace had the first chance of the game. Wayne Hennessey punted the ball downfield. Eliaquim Mangala stumbled, haring back towards Ederson. Christian Benteke scuffed his shot on the move and Mangala was able to get back to clear.

If City were being hurried they still looked like they might rip down the other end and score at any moment. With 16 minutes gone Scott Dann injured himself fouling De Bruyne as he surged past and was carried off, to be replaced by Martin Kelly. It looked a horrible twist of the knee.

Moments later Jesus collapsed by the touchline, to be replaced by Sergio Agüero. It was bruising stuff but also a thrilling game, the action condensed into small, intricate spaces, with every player on the pitch involved, from Zaha tracking back to his own goalline to Patrick van Aanholt overlapping Bernardo Silva at the other end.

Agüero found a tiny pocket of space and struck the post with a deflected shot. Zaha attacked Kyle Walker with real verve on the left wing, staying a little wider than he has at times, presumably to press City back in a favoured area.

And as Palace continued to press and ferret in Hodge-of-war fashion Guardiola could be seen for the first time on his touchline just before half-time, jewelled epaulettes of his bomber jacket winkling as he whirled his arms, demanding more movement, more passing, more of that familiar stuff.

City’s ability to keep the ball began to tell after the break as Palace defended heroically at times, Kelly and James Tomkins producing some full body blocks. On 77 minutes Andros Townsend missed a gift of a chance, blasting wildly over from Zaha’s cross. At the death Zaha tumbled to win the penalty, drawing a huge roar. Milivojevic’s kick was scuffed. Ederson saved with his legs and City saw out the Premier League year with an unbeaten streak that stretches back to April.