The teams were locked in a 1-1 tie when Jason Akeson - playing in just his third career NHL game - was given a double high-sticking penalty for clipping Rangers forward Carl Hagelin with 7:35 remaining.
New York quickly took advantage.
Richards gave the Rangers their first lead of the night when a rebound of Martin St. Louis' shot came to him, and he fired it in from the right circle, punctuating the moment with an emphatic fist pump at 8:22.
Richards and St. Louis hooked up again to help set up Stepan's insurance goal. New York worked the puck around the Philadelphia end, and Richards faked a drive. He instead sent a hard pass to Stepan for a shot into the open left side.
Defenseman Andrew MacDonald had given the Flyers a 1-0 lead in the first, but the Rangers answered with Mats Zuccarello's goal.
Hagelin pushed New York's edge to 4-1 with 4:08 left in the game.
Henrik Lundqvist made 14 saves for the win. Ray Emery, subbing for injured No. 1 goalie Steve Mason, stopped 32 shots in the loss. The Flyers had one shot in the third period.
The Rangers haven't lost to Philadelphia at Madison Square Garden since March 6, 2011, outscoring the Flyers 35-10 in that span.
Game 2 is Sunday in New York.
The Flyers took the lead on their first shot of the series, after allowing four to New York, following a big hit by Scott Hartnell on Rangers defenseman Ryan McDonagh to free the puck in the offensive zone.
MacDonald, a trade deadline acquisition from the New York Islanders, wound up for a slap shot on the playoffs logo and sent the puck sailing past Lundqvist after it hit St. Louis in flight at 7:28.
As the shot flew past him, McDonagh - who struggled with the puck several times in the opening period in his first game in April 1 - hit Claude Giroux in the side with his stick, sending the Flyers captain to the ice. Giroux was down on all fours before gingerly skating to the bench. He returned to action.
The Rangers got even with 9:07 left on a strong, determined effort by Zuccarello. Benoit Pouliot skated in search of space and lost the puck off his stick in the left circle. Zuccarello swooped in, got the puck and fired a hard shot that Emery blocked away. While in stride, Zuccarello got the puck back and deftly slipped in a backhand for his second career NHL playoff goal.
Rick Nash had five of New York's 14 shots in the first, mostly from long range, and nearly matched Philadelphia's total of six in the frame.
Both teams generated chances in the second period, but no goals. The Rangers again led in shots, but by a slight 9-8 margin.
NOTES: Mason showed more improvement Thursday and was in attendance for the game. Flyers coach Craig Berube said he doesn't know if Mason will play in Game 2 on Sunday. ... MacDonald agreed to a six-year, $30 million contract with Philadelphia this week. ... McDonagh missed the final five regular-season games because of an injured shoulder.