Match ends, Wolverhampton Wanderers 1, Manchester City 1.
Wolves manager Nuno Espirito Santo said his side have "nothing to prove" after they held Manchester City to a draw at Molineux, with Aymeric Laporte's header rescuing a point for the champions.
Pep Guardiola's side came here on the back of convincing victories at Arsenal and at home to Huddersfield Town - but were given a severe test by the team who won the Championship last season.
In an eventful match, City hit the woodwork twice in the first half - first, through Sergio Aguero, and then when Wolves keeper Rui Patricio brilliantly turned Raheem Sterling's rising 25-yard drive onto the bar. Wolves striker Raul Jimenez also had a goal ruled out for offside.
The hosts took the lead in controversial fashion after 57 minutes when defender Willy Boly's attempted diving header went in off his hand from Joao Moutinho's free-kick.
City had appeals for a penalty turned away by referee Martin Atkinson after Ruben Neves' challenge on David Silva, but drew level in the 69th minute when Aymeric Laporte scored his first goal for the club - a towering header from Ilkay Gundogan's free-kick.
Both sides had opportunities to win it in the closing stages, with City almost snatching three points when Aguero's free-kick glanced off the bar with virtually the last kick of the game.
Wolves became only the third team since the beginning of last season to reach double figures in attempts on goal against Manchester City.
"It is a big victory for the boys today," Nuno told BBC Sport. "No matter what opponent you have you should play the way you think you should play.
"It is our way. We don't have to prove nothing to nobody. We just have to be ourselves, the way we work together."
- What happened in the Premier League?
- Saturday's best stats
- Everything you need to know about Champions League group-stage draw
Wolves at home at the top table
The thunderous roar that greeted the final whistle and this well-earned point was just the sort of moment Wolves' Chinese owners had in mind when they embarked on this hugely ambitious Molineux project.
"We're on our way back" boomed from the Sir Jack Hayward Stand as manager Nuno Espirito Santo and his players took the acclaim for taking the first points off Manchester City this season.
It has been a difficult opening to the season for Wolves with defeat at Leicester City following a home draw against Everton on the opening weekend.
On Saturday, however, Wolves showed commitment, energy and quality to carry out Nuno's gameplan - one which he said he would not downgrade or tailor simply because Guardiola's champions were in town.
Yes, there were moments when the hosts carried their luck. Boly's goal was clearly scored with the aid of his hand, while City were frustrated by the woodwork - once via a brilliant Patricio save - but few would begrudge them this point.
Backed by a fervent support at a packed Molineux, they were not hanging on for a point and twice the raw pace of substitute Adama Traore almost provided crosses that led to a late goal.
Make no mistake, City did not deserve to lose either - but this is a result, occasion and performance that will do wonders for Wolves' self-belief and help them settle into life in the Premier League.
Man City lack usual cutting edge
Guardiola and his Manchester City players will be frustrated at dropping their first points of the season after two convincing wins.
While City saw plenty of the ball, they were just short of their dazzling best in all areas of the pitch and could not find the clinical end product that normally comes so naturally to them.
Their luck was also out. Aguero hit the woodwork twice and Patricio's athleticism left Sterling holding his head in anguish.
City still showed resilience to fight their way back into contention after the shock of falling behind to Boly's goal, and plenty of City's title rivals will have looked on in envy at the sheer firepower Guardiola was able to introduce from the bench as they went in search of victory.
Gabriel Jesus, Leroy Sane and Riyad Mahrez all came on - it did not do the trick on this occasion but their presence demonstrates the sheer size of the task of those hoping to wrestle the crown away from City.
Tough day for officials
The video assistant referee (VAR) will not be present in the Premier League this season - and Manchester City may well have been left regretting its absence at Molineux on Saturday.
Boly's final touch on to Moutinho's free-kick to give Wolves the lead clearly came off his hand, but it was incredibly tough for referee Atkinson and his assistant to spot as the ball was delivered into a crowd in the penalty area.
And City also felt they were denied a penalty when Silva tumbled under a Neves challenge, but their appeals were ignored.
In the end a draw was accepted by both sides - but City clearly felt aggrieved that big decisions had gone against them.
Man of the match - Joao Moutinho (Wolves)
'A very good point' - Guardiola
Wolves manager Nuno Espirito Santo: "It was a good performance overall in all moments of the game and in all circumstances of the game, when we had the ball and when we didn't have the ball.
"You have to be cautious and realise your opponents are the best team, the champions, stick together, reduce the spaces and have balance.
"When we had the ball we created chances and played good football. It was a good game.
"But - and there is always a but - maybe we should have managed those couple of minutes better after we scored. There were a couple of first passes that put Manchester City in control of the game but it is one more game, one more tool to work on."
Manchester City manager Pep Guardiola, speaking to BBC Sport: "It was a very good point. We created chances but their keeper made saves, so today we draw. We knew how good they were this season. No complaints.
"We created a lot, that's why it's good. In the first half, Aguero hit the post - sometimes it goes in, sometimes not.
"We were not solid defensively today, that is why we conceded a few chances to them. But in general, the game - considering the quality of the opponent - was good. We have to give credit."
The stats - French flourish in English top flight
- Wolves have lost just two of their 28 home games under Nuno Espírito Santo, winning 18 and drawing eight.
- Manchester City have lost only one of their past 30 Premier League games against newly promoted teams.
- City conceded the opening goal in a league game for the first time in 18 games, when they lost 4-3 to Liverpool on 14 January.
- City captain Vincent Kompany became the first Belgian to make 250 Premier League appearances.
- Wolves defender Willy Boly and Manchester City's Aymetic Laporte became the 117th and 118th French players to score in the Premier League (excluding own-goals).
- In fact, Laporte's goal was the 1,500th scored by a French player in the Premier League - with only English players scoring more.
Wolves travel to Sheffield Wednesday in the Carabao Cup second round on Tuesday (19:45 BST kick-off) before visiting West Ham in the Premier League next Saturday.
Manchester City host Newcastle in the league next Saturday at 17:30.
- 11Rui Patrício
- 16CoadyBooked at 41mins
- 28João Moutinho
- 19Castro OttoSubstituted forVinagreat 85'minutes
- 10Hélder CostaSubstituted forTraoréat 72'minutes
- 4KompanyBooked at 12mins
- 21SilvaBooked at 60mins
- 8GündoganSubstituted forSanéat 77'minutes
- 20Bernardo SilvaSubstituted forGabriel Jesusat 62'minutes
- 7SterlingSubstituted forMahrezat 85'minutes
- 33Gabriel Jesus
- Martin Atkinson
- Shots on Target
Second Half ends, Wolverhampton Wanderers 1, Manchester City 1.
Sergio Agüero (Manchester City) hits the bar with a right footed shot from outside the box from a direct free kick.
Sergio Agüero (Manchester City) wins a free kick in the attacking half.
Foul by João Moutinho (Wolverhampton Wanderers).
Kyle Walker (Manchester City) wins a free kick on the right wing.
Foul by Diogo Jota (Wolverhampton Wanderers).
Corner, Manchester City. Conceded by Adama Traoré.
Attempt missed. Matt Doherty (Wolverhampton Wanderers) header from the centre of the box misses to the right. Assisted by Rúben Vinagre with a cross.
Corner, Wolverhampton Wanderers. Conceded by Aymeric Laporte.
Attempt missed. Diogo Jota (Wolverhampton Wanderers) right footed shot from the left side of the box is just a bit too high. Assisted by Adama Traoré with a cross.
Foul by Aymeric Laporte (Manchester City).
Willy Boly (Wolverhampton Wanderers) wins a free kick in the defensive half.
Substitution, Wolverhampton Wanderers. Rúben Vinagre replaces Jonny because of an injury.
Substitution, Manchester City. Riyad Mahrez replaces Raheem Sterling.
David Silva (Manchester City) wins a free kick in the attacking half.
Foul by João Moutinho (Wolverhampton Wanderers).
Corner, Manchester City. Conceded by Diogo Jota.
Corner, Manchester City. Conceded by Jonny.
Gabriel Jesus (Manchester City) wins a free kick on the left wing.