Manchester City scored another late winner at the Etihad to equal the record for the longest winning streak in Premier League history.
The record is shared by Chelsea (2015/16 season) and Arsenal (2001/02 season) and City are now just a victory away from becoming the undisputed winning-streak kings.
City can break the record at Old Trafford on Sunday should they beat Jose Mourinho’s Manchester United.
It is a massive clash at the top of the table as United look to become the first side this season to beat City.
Chelsea equaled the record set by Arsenal in their epic 2001/02 season in December of 2016, but could not set a new milestone themselves.
The Premier League leaders had to come from behind to beat West Ham when Angelo Ogbonna headed the away side into an unlikely lead just before half-time.
Nicolas Otamendi bundled the ball home from close range to bring the game level in the 57th minute before Silva popped up with the winner with seven minutes left.
It is the third game in a row that City have scored a late winner to snatch all three points.
Should United lose to City, the Sky Blues will claim the winning-streak record and extend their lead at the top of the table to eleven points.
City travels to Old Trafford on Sunday in a 4.30pm kick-off.