West Ham captain Dagny Brynjarsdottir was left unmarked as she headed the visitors in front after two minutes.
Defending champions Chelsea responded when Fran Kirby scooped in an equaliser before half-time.
Striker Sam Kerr, who hit the post twice, eventually scored Chelsea’s second, before Millie Bright’s header made it 3-1 to the hosts.
Chelsea dominated the second half and should have scored more as substitute Lauren James won a penalty but could not beat goalkeeper Mackenzie Arnold from the spot.
“I was really encouraged by the team’s response and calmness. We grew into the game. It should have been more [goals] but it wasn’t,” said Chelsea manager Emma Hayes.
“But I don’t want to reflect on the things we didn’t do. The season has just begun, I think we’re performing like a team [in a season that] has just begun, trying to figure ourselves out.”
There were positives for Chelsea as James, watched by brother and fellow England international Reece, was impressive again in a short appearance from the bench.
Kerr, meanwhile, had a frustrating evening, but she caused plenty of problems for the West Ham defence.
Lucy Parker, who earned her first England call-up on Tuesday, did well to keep her at bay for large periods but Kerr’s quality was evident when she twice struck powerfully against the post.
The Australia international eventually got her first goal of the season when West Ham failed to clear the ball in the box and it dropped kindly for Kerr to poke in from close range.
Chelsea midfielder Guro Reiten had also came close, while Bright sent a header wide before netting the final goal in what ended up being a comfortable victory for the Blues.
It was a second successive defeat for West Ham and manager Paul Konchesky said it was “tough to take” after conceding “disappointing” goals.
“You know Chelsea’s attacking power that they’ve got. We spoke about it before the game,” he told BBC Sport.
“I thought Fran Kirby’s goal was a little bit fluky, then [conceding] two set-plays was very disappointing on our behalf.
“But we’re playing Chelsea and maybe we have to take that.”