For long periods it seemed a 10th-minute opener from centre-back Silva would be the difference between the two London sides, who were evenly matched for much of this derby at Stamford Bridge.
West Ham had plenty of promising moments but were unable to fashion a clear-cut chance and were made to pay late on when England international Abraham struck a quick-fire double to pay back the faith of manager Frank Lampard, who recalled him to the starting XI.
It was far from a straightforward evening for the Blues, who lost Ben Chilwell to injury and yet they bounced back after consecutive defeats and left West Ham with a sense of what might have been had they showed more quality in the final third.
Lampard was without Reece James due to a knee injury and his other full-back and birthday boy Chilwell was forced off in the ninth minute with an ankle problem, but another defender provided the perfect tonic to that early substitution with the opener.
Mason Mount’s outswinging corner found Silva and he powerfully headed home in the 10th minute for his second Chelsea goal after running away from the crowded pack on the penalty spot.
It had been an eventful start, with Declan Rice finding the net after seven minutes against the club he played for until he was 14, but the offside flag cut short his celebrations.
Rice was without the captain’s armband after Moyes decided to hand Mark Noble just his second league start of the season – the last being the opening-day defeat to Newcastle on September 12 – and he was used higher up the pitch in the number 10 position.
The decision failed to have the desired effect early on with Sebastien Haller largely isolated and Abraham thought he had doubled Chelsea’s lead with 16 on the clock, but Mount had been unable to keep the ball in play and the goal was ruled out.
Eventually the visitors got a foothold on proceedings and a foul on Silva saw Jarrod Bowen denied a goal on the half an hour mark.
After the ex-Paris St Germain centre-back had starred at the other end of the pitch earlier in the game, he showed his class in his usual territory in the 33rd minute when he blocked a Tomas Soucek volley with his stomach.
It was another encouraging moment for West Ham, but they were reminded of the hosts quality two minutes before half-time when Christian Pulisic found Timo Werner unmarked inside the area, but he fired tamely at Lukasz Fabianski to see his goal drought continue.
The weak effort was indicative of the German’s form with no goal in his last eight outings after a period of seven club strikes in the space of a month during October and November.
It was the attackers last involvement with Said Benrahma introduced by manager Moyes not long after while Lampard had seen enough from Jorginho, who failed to impress on his first league start in two months.
Mateo Kovacic was on in place of the Chelsea midfielder, but it was Silva who continued to be the key figure as he marshalled the hosts back four brilliantly until the decisive second goal arrived.
Werner cut inside and tried his luck again and while his shot was poor, West Ham left-back Aaron Cresswell had not stayed in line with the rest of his defenders which ensured Abraham was onside and he made no mistake from close range.
Two minutes later, with 80 played, it was 3-0 when Pulisic led the Chelsea attack and while he was denied from Mount’s cross by Fabianski, Abraham was there again to tap home and take his tally for the night to two.
After a five-game drought, the 23-year-old was back on the scoresheet and rewarded the decision by Lampard to bring him back in the team for his first league start of the month.
There was still time for Werner to squander another opportunity, but the Blues are on the victory trail again and by a comprehensive margin ahead of Boxing Day’s clash at Arsenal while West Ham host Brighton next.