David de Gea was the hero for Manchester United as he denied Mark Noble's last-minute penalty to ensure the Red Devils won 2-1 at West Ham.
The Irons were awarded a spot kick after Luke Shaw's handball and Noble was substituted on to take the penalty - only for his effort to be saved by the Spaniard.
Moments earlier, Jesse Lingard put Manchester United in front with a powerful drive after coming off the bench.
West Ham took a deserved lead in the first half as Said Benrahma's effort deflected off Raphael Varane to leave De Gea stranded.
Five minutes later, Ronaldo extended his brilliant form since his return to the Red Devils by latching onto Bruno Fernandes' cross and beating Lukasz Fabianski after his initial effort was saved.
West Ham had the lion's share of the chances in the second half but missed the suspended Michail Antonio's finishing ability.
Ole Gunnar Solskjaer waited until there were just over 15 minutes remaining to freshen up his attack with substitutions - and the decision to introduce Jesse Lingard proved inspired.
Here are six talking points from the London Stadium.
1. Irons capitalise on bright start
Said Benrahma was allowed plenty of space and time before scoring with a deflected effort ( Image:
REUTERS)
West Ham opened the scoring on the half-hour mark by exploiting familiar frailties in Manchester United's midfield.
The warning signs were there for the visitors, with the likes of Said Benrahma and Jarrod Bowen slicing through the midfield pivot of Scott McTominay and Fred.
Benrahma could hardly believe his luck as he collected the ball in acres of space on the edge of the area and had time to aim a curling effort on goal.
Equally fortuitous was the vicious deflection his shot took off Raphael Varane before trickling past a helpless David de Gea.
2. Ronaldo to the rescue
Cristiano Ronaldo equalised with the simplest of finishes after his first effort was saved
West Ham deserved their lead, so David Moyes will have been dismayed to see them throw it away after just five minutes in front.
Manchester United - the Premier League's comeback kings on the road last season - pulled level through Cristiano Ronaldo after yet more excellent work by Bruno Fernandes.
The playmaker was a creative force for the visitors throughout the match and his delivery from wide areas was particularly threatening.
It was one of these venomous crosses which created the chance for Ronaldo to equalise, with the superstar forward forcing a save from Lukasz Fabianski before prodding in at the second time of asking.
3. Rice shows Solskjaer what he's missing
Declan Rice proved why he is a transfer target for Manchester United
On an afternoon when Scott McTominay and Fred struggled to keep pace in the centre of the park, Declan Rice caught the eye for West Ham with a typically complete performance.
The 22-year-old has formed a formidable partnership with Tomas Soucek and he continues to show why he is valued at £100million by his club.
Combative, positionally-aware and tireless, Rice helped blunt United's threat while also driving his team forward with line-splitting passes.
West Ham had plenty of joy through the middle, whereas Rice's presence in midfield meant Manchester United were forced to attack down either flank, with Bruno Fernandes forced into wide areas.
4. Solskjaer stalls on substitutions
Ole Gunnar Solskjaer waited until the 73rd minute to make substitutions
Ole Gunnar Solskjaer drew criticism in midweek for a number of his substitution decisions in the 2-1 defeat by Young Boys.
And the Manchester United boss may find himself in the spotlight once again, despite the result, after waiting over 70 minutes to make any changes against West Ham.
Before the match, Solskjaer earmarked an impact substitute role for Jadon Sancho as he explained why the Englishman was on the bench.
Anthony Martial, Juan Mata, Jesse Lingard and Donny van de Beek were also ready to be called on, but Solskjaer did did not do so until the 73rd minute, when he introduced Sancho and Lingard in place of Mason Greenwood and Paul Pogba.
By that point, West Ham were firmly on top and David Moyes will have been rueing Michail Antonio's suspension given the glut of chances his side were creating but not finishing.
But there was to be a twist in the tale.
5. Lingard makes amends
Jesse Lingard endured a nightmare moment in the 2-1 defeat by Young Boys as his underhit backpass was punished deep into added time.
On Sunday, however, he made the most positive of impacts in the closing stages as he picked up the ball in the West Ham area, made space for himself and powered into the top corner to sink the club he shone on loan at last season.
Seconds later there was yet more drama as Luke Shaw was penalised for a handball and Mark Noble was substituted on to take the penalty.
Incredibly, the Englishman's effort was denied by a strong hand from David de Gea in what proved to be a match-winning save.
6. Greaves remembered
Players and fans observed a minute's applause in Jimmy Greaves' memory
Before kick-off, the London Stadium paid tribute to former West Ham striker Jimmy Greaves, who died aged 81 on Sunday morning.
The prolific striker represented the Irons towards the end of his career, scoring 13 goals in 40 appearances between 1969 and 1971.
West Ham and Manchseter United players wore black armbands in Greaves' memory and a minute's applause was held before the action got underway.