Hakim Ziyech struck an 89th-minute winner to help new world champions Chelsea earn a narrow 1-0 win at Crystal Palace.
Video assistant referee had denied the Morocco international earlier in the second half when Romelu Lukaku, who only had seven touches at Selhurst Park, was deemed to be offside.
It looked like being another frustrating afternoon for Thomas Tuchel’s side until Ziyech netted to build momentum after their Club World Cup success in Abu Dhabi with three points in the Premier League, which strengthens their stranglehold on third position.
Chelsea’s numerous cup commitments meant this was their first top-flight fixture since January 23 and any faint title hopes they had after a 2-0 win over Tottenham last month had virtually evaporated now.
The late withdrawals of Cesar Azpilicueta and Callum Hudson-Odoi weakened the visitors in south London but Palace had problems of their own with Joel Ward and Blues loanee Conor Gallagher unavailable.
It resulted in Vieira switching formation to a 4-2-3-1 with Michael Olise recalled and he nearly opened the scoring after seven minutes.
Wilfried Zaha, deployed down the middle, found Olise on the right but after he worked a yard of space up against Antonio Rudiger, he could only drag his effort wide from eight yards.
Tuchel’s side responded with Christian Pulisic blazing over a half volley before Rudiger’s spectacular effort from more than 35 yards forced a fine save by Vicente Guaita.
N’Golo Kante was the next player to be presented with an opportunity after 20 minutes following a wonderful through ball by the recalled Malang Sarr but the World Cup winner fired straight at Guaita and it was the hosts who finished the first 45 strongly.
Three corners in quick succession lifted the atmosphere inside a wet and wind-battered Selhurst Park before a big opportunity was created prior to half-time.
Zaha timed his run and was found by Olise’s perfectly-weighted pass but with the angle tight, the Ivory Coast international could only fire past the post with just Edouard Mendy to beat.
Palace were forced into a change at the break with Jack Butland introduced for first-choice goalkeeper Guaita and he was braced for action when Kai Havertz was fouled a yard outside the area but Ziyech’s subsequent effort hit the wall.
Lukaku had cut a frustrated figure in south London and only touched the ball on four occasions by the hour mark, one being kick-off.
When Ziyech produced a telling cross into the area soon after which the £97million was nowhere near, Tuchel had seen enough and made a triple change.
Despite his lack of touches, Lukaku survived the cull to remain on the pitch and it almost paid dividends instantly.
Substitute Mateo Kovacic’s first touch was a pass into Lukaku, who saw a shot saved by Butland and Ziyech was on hand to tap home the rebound.
Chelsea’s joy was cut short though by VAR with the goal ruled out because Lukaku had been offside, which sparked celebrations from the home crowd.
Tuchel’s new world champions would not be denied and it was another substitute who created the winner.
Marcos Alonso spotted Ziyech unmarked at the back post and found the former Ajax attacker who volleyed in for his seventh goal of the season.
Zaha went close again almost straight from kick-off but Palace lost for a ninth consecutive time to Chelsea and remain in 13th.