City looked set to suffer a surprise loss after conceding against the run of play to Edson Montano's second-half goal, having dominated possession at AAMI Park.
But a week after coming off the bench to level and earn a point away to Sydney FC, it was Spanish superstar Villa who City had to thank again, as the World Cup-winner continues to live up to the lofty expectations that greeted his arrival in Australian football.
Goals
0-1 (Edson Montano 62')
Marcos Flores sprayed the ball wide to Joel Griffiths, whose pinpoint delivery from the right flank was met at the near post by the Montano, the Ecuadorian marksman making no mistake from close range.
1-1 (David Villa 87')
Damien Duff's driving run and delivery into the area saw Mate Dugandzic knock the ball down, Villa collecting it before driving a low finish beyond Mark Birighitti in the Jets' goal.
Key moment
The Jets could well have won the game in the 94th minute, when substitute Jeronimo Neumann found himself free inside the area only for the Argentine to scuff a rushed shot harmlessly wide of goal.
Highlights reel
Erik Paartalu's miscued shot threatening to clear the stands and sail into the Yarra drew a huge cheer and then groan from a sizeable crowd, but that was nothing compared to the boos that rained down when pantomime villain Kevin Muscat - scouting next week's opponents - appeared on the big screen.
Back to the drawing board
For all their possession City struggled again to carve out clear-cut chances, meaning the introduction of marquee international Robert Koren as a dedicated attacking midfielder can't come soon enough. Van't Schip can't continue to rely on Villa to bail his team out of trouble, with the clock already ticking on the former Barcelona man's stay in Australia.
The Final Word
Having been written off in some quarters following their defeat to Central Coast in Round 1, the Jets can make the trip to play Wellington Phoenix next weekend with renewed confidence after pushing their hosts all the way, while City must sharpen up their attack for the sold-out derby against Melbourne Victory.
Teams
Melbourne City: Andrew Redmayne, Jason Hoffman, Iain Ramsay (Brown 82'), Patrick Kisnorbo, Robert Wielaert, Erik Paartalu (Paulo Retre 67'), Aaron Mooy, Massimo Murdocca, Damien Duff, David Villa, David Williams (Mate Dugandzic 63').
Newcastle Jets: Mark Birighitti, Scott Neville, Kew Jaliens, Sam Gallagher, David Carney, Taylor Regan (Zenon Caravella 54'), Joel Griffiths (Andrew Hoole 69'), Marcos Flores (Jeronimo Neumann 72'), Jacob Pepper, Jonathan Steele, Edson Montano
Scorers: Edson Montano (62'), David Villa (87')
Red cards: None
Yellow cards: Taylor Regan (23'), Edson Montano (66'), Jonathan Steele (71'), Jeronimo Neumann (77')
Conditions: 27°, dry
Attendance: 15,717 @AAMI Park