Rice beat Bernd Leno with a first-time shot after a good lay-off by Samir Nasri, who was making his first top-flight appearance in England since August 2016.
In a highly-competitive London derby, Alexandre Lacazette was denied by an excellent save from Lukasz Fabianski as Arsenal failed to score in the league for the first time since the opening day of the season.
West Ham were full value for their win, with Marko Arnautovic, Rice, Nasri and Felipe Anderson all going close when the game was goalless.
- Reaction from London Stadium
- Arnautovic ‘wants West Ham to accept £35m Chinese bid’
- Juventus leading race to sign Arsenal’s Ramsey
The Gunners are three points behind fourth-placed Chelsea, who entertain Newcastle at 17:30 GMT.
Bright future for Rice and West Ham
Bournemouth, Wolves, Tottenham, Manchester City and Watford have all won at the venue this season.
Yet the Hammers turned in one of their best performances under Pellegrini to claim a first win over Arsenal since 2015.
Nasri brought an air of authority and added quality to the midfield while Marko Arnautovic was busy and inventive despite the player’s agent and brother saying the Austrian striker wants to move to a Chinese club during this transfer window.
The 29-year-old did, however, wave to fans when he was replaced with 20 minutes to go.
The teenager has been a revelation this season and played with an air of maturity way beyond his years.
After spurning a good chance to open the scoring on the stroke of half-time when he headed wide, Rice punished Arsenal’s defence with a superb finish into the roof of the net after a poor headed clearance.
Will Arsenal finish in the top four?
Only leaders Liverpool and Manchester City have found the net more than the Gunners, but against West Ham they failed to score in the league for only the second time this season – and have not kept a clean sheet since 8 December.
Perhaps more worryingly for Unai Emery’s side, they rarely looked like getting back on level terms after Rice’s special finish.
Emery even sent on Aaron Ramsey, who will leave Arsenal at the end of the season, to try and rescue his side.
Arsenal had started well enough with Alexandre Lacazette looking particularly sharp and strong.
Teenager Matteo Guendouzi went close from outside the area when the game was goalless, while Aaron Creswell made a superb challenge to deny a rare chance for Pierre-Emerick Aubameyang.
On a day to forget for Arsenal, captain Laurent Koscielny did find the net in the third minute of stoppage time but his header was ruled out for offside.
Man of the match – Declan Rice (West Ham)
Teenage kicks – the stats
- Declan Rice became the 10th teenager to score a Premier League goal for West Ham, and the first since Junior Stanislas in November 2009.
- Arsenal have taken just two points from their past five away Premier League games – they won 13 in the five away games prior to this run.
- West Ham registered only their third home Premier League win against Arsenal and their first since November 2006, ending a run of 10 home games without victory against the Gunners.
- Samir Nasri played his first Premier League game for West Ham and registered his first assist in the competition since April 2016, when he assisted Sergio Aguero for Man City against Chelsea.
- Arsenal are one of three Premier League teams yet to lead at half-time in an away Premier League match this season, along with Burnley and Cardiff City.
- Hammers boss Manuel Pellegrini remains unbeaten in home matches against Unai Emery in all competitions during his managerial career.
- 30AntonioSubstituted forObiangat 82′minutes
- 18NasriSubstituted forSnodgrassat 71′minutes
- 8Felipe Anderson
- 7ArnautovicSubstituted forCarrollat 71′minutes
- 20MustafiBooked at 46minsSubstituted forRamseyat 59′minutes
- 15Maitland-NilesSubstituted forBellerínat 69′minutes
- 34XhakaSubstituted forTorreiraat 59′minutes
- 31KolasinacBooked at 60mins
- Jonathan Moss