Lucas Perez came off the bench to propel West Ham to victory over Cardiff City at the London Stadium to continue the Bluebirds' torrid form away from home.
The away side were awarded their first penalty of the season in the 35th minute following a foolish push from Marko Arnautovic on Junior Hoilett, but Joe Ralls couldn't get it past Lukasz Fabianski from 12 yards.
Then, after replacing the injured Arnautovic in the 49th minute, Perez scored twice in five minutes to take the game away from the Welsh side, with Michail Antonio putting some gloss on the display with a header half an hour from time.
The visitors managed to bumble a header over the line through substitute Josh Murphy in the 94th minute, but it was nothing but a small consolation.
Key Talking Point
The first half was all about Arnautovic. The ethereal Austrian was bullish in attack, threatening the Cardiff rearguard whenever he got on the ball.
After twice being thwarted from great opportunities - once from a covering man on the line - the 29-year-old promptly gave away a clumsy penalty, before injuring his hamstring with five minutes left of the half.
The worry inside the London Stadium was palpable, as their undoubted outstaning player hobbled off ahead of busy festive schedule. However, Perez' goalscoring cameo, and Andy Carroll's return, will offer fans hope that they may just be able to cope without their talisman.
Starting XI: Fabianski (7); Antonio (8), Diop (7), Ogbonna (6), Masuaku (7); Snodgrass (8), Noble (6), Rice (6), Anderson (7); Hernandez (6), Arnautovic (6).
Substitutes: Perez (9*), Carroll (6), Diangana (6).
STAR MAN - There can be no doubt as to who this award goes to. Former Arsenal striker Perez, who was yet to really get a sniff under Manuel Pellegrini, as was the case with Arsene Wenger at the Emirates, finally announced himself to the Premier League with an instant impact.
He took both goals with evident composure, showing power and finesse, something that will definitely not go amiss in his new surroundings.
WORST PLAYER - Perhaps a bit harsh, but after getting back in the goals against Newcastle, Javier Hernandez was unable to reproduce his goalscoring touch in an anonymous showing.
Key Talking Point
In the end, it was another despondent display in the English capital for Cardiff, who've now lost all three of their trips to London this season.
But - and be prepared for the obvious - things could've been so different had that penalty gone in. Until then they'd managed to largely frustrate the Irons, and a lead going into half-time would've really unsettled the home crowd.
There was some confusion over the spot-kick itself, with Ralls and Victor Camarasa clearly arguing over who had the responsibility, and Sol Bamba may well be kicking himself for choosing the wrong man after the former's timid effort.
In any case, he'll almost certainly be wondering why his manager hadn't settled it beforehand.
Starting XI: Etheridge (7*); Manga (5), Morrison (7), Bamba (6), Bennett (6); Gunnarsson (5); Camarasa (6), Ralls (4), Arter (6), Hoilett (6); Paterson (5).
Substitutes: Murphy (7), Mendez-Laing (6), Harris (5).
STAR MAN - It's always worrying when you concede three goals but your keeper remains your best player. While Hoilett showed some touches in the opening stages and captain Morrison put it in a fighting performance, Etheridge was still the team's brightest spark.
There was little he could do for the goals and he made a number of expert saves, including one incredible point-blank stop from substitute Grady Diangana.
WORST PLAYER - Joe Ralls. It wasn't just the fluffed penalty, which Fabianski saved with a bit too much ease. His all round play was lacking even before the incident, as West Ham wrestled control of the midfield.
But you can't deny that, following the miss, the Englishman's nerve deserted him.
Now sitting in 12th place, West Ham will host Crystal Palace on Saturday in the Premier League, who lost 3-1 to Brighton at the Amex, before travelling to Claudio Ranieri's Fulham the following week.
As for Cardiff, they're now in 16th place, with all three sides in the relegation zone yet to play. Next up, they'll square up against fellow strugglers Southampton at home, in an unquestionable six pointer.