Cliff Lee goes for his 17th win as the Phillies try to complete a sweep. The games are a makeup from rainouts due to Hurricane Irene last month.
Kendrick (8-6) didn't allow a hit until Logan Morrison homered to lead off the fifth. He gave up one run and one hit, striking out six.
Michael Stutes tossed two scoreless innings, Antonio Bastardo and Brad Lidge worked the eighth, and Ryan Madson finished for his 31st save in 33 chances.
Madson pitched out of a second-and-third, one-out jam by striking out Emilio Bonifacio and getting Omar Infante to foul out.
Anibal Sanchez (8-8) pitched six strong innings, but was the hard-luck loser. He gave up two runs and four hits, striking out seven.
Hunter Pence and Raul Ibanez hit RBI doubles in the first, and the major league-leading Phillies (96-51) moved within six wins of setting a single-season franchise record.
Placido Polanco got the Phillies started in the first with a one-out single. He went to second on a balk and scored on Pence's double to left. Ibanez hit an RBI double to right with two outs to make it 2-0.
The Marlins cut it to 2-1 in the fifth on Morrison's 20th homer.
Ryan Webb walked Polanco with the bases loaded in the seventh to force in a run that put Philadelphia up 3-1.
The Marlins put two runners on with one out against Bastardo in the eighth. Lidge came in and allowed a single to Gaby Sanchez. But left fielder Ibanez threw out Infante trying to score for the second out.
Lidge then walked Morrison to load the bases. But he struck out John Buck to escape the jam.
A crowd of 44,216 was the 208th consecutive sellout at Citizens Bank Park, including postseason play. There were more empty seats than usual on a dreary, drizzly day.
The Phillies played without three regulars: Chase Utley, Jimmy Rollins and Carlos Ruiz. All three were expected to start the second game. Utley got a pinch-hit single in the seventh in his first action since sustaining a concussion last Wednesday. Rollins and Ruiz also came in late and hit singles.
Kendrick got plenty of defensive help from second baseman Pete Orr, who made three outstanding plays. Orr ran a long way to catch a shallow pop by Bryan Peterson in the second. He made a leaping, snow-cone catch on Sanchez's liner leading off the third. Then, he made a diving stop on Greg Dobbs' grounder in the hole in the fourth.
Polanco helped Stutes in the seventh with an excellent, backhanded stab on Jose Lopez's hard one-hopper down the third-base line.
NOTES: Since Aug. 30, Florida's starting pitchers have a 2.78 ERA. ... The Phillies swept the Marlins in a doubleheader on June 15. ... The Phillies are 28-4 when Brian Schneider is the starting catcher. ... Kendrick improved to 7-2 vs. the Marlins. ... Sanchez fell to 3-8 vs. Philadelphia.