Raul Ibanez added two RBIs as the Phillies won for the 11th time in 13 games.
After a 58-minute rain delay at the start, the Phillies took a 2-0 lead in the first inning on RBI singles by Ross Gload and Brown. Kendrick (7-4) kept Philadelphia ahead, allowing two runs.
Brown, the Phillies' top prospect, matched his major league RBI total coming into the game. He also had a sacrifice fly and a run-scoring grounder.
Gaby Sanchez went 4 for 4 with two doubles and an RBI. Fellow rookie Mike Stanton hit his 10th homer for the Marlins, who have lost three straight.
The Marlins had an opportunity to cut into a 5-2 deficit in the eighth as the first two batters reached base against Ryan Madson, who then retired the next three hitters.
Second baseman Dan Uggla's throwing error on Brown's potential inning-ending, double-play grounder helped the Phillies score twice in the ninth.
Coming off a one-hitter against San Francisco, Anibal Sanchez (8-7) struggled allowing four runs and seven hits in 4 1-3 innings. He struck out seven.
With a 2-1 lead in the fifth, the Phillies opened the inning with three straight singles off Sanchez, including an RBI single by Ibanez. Sanchez was eventually lifted in favor of Taylor Tankersley, who limited the damage by allowing just a sacrifice fly by Brown.
NOTES: Ibanez extended his hitting streak to 12 games. ... Recently acquired 1B Mike Sweeney is expected to join the Phillies on Thursday. ... Gaby Sanchez also had a four-hit game on June 11 against Tampa Bay. ... The Phillies' Jayson Werth snapped an 0-for-24 slump at Sun Life Stadium with a single in the ninth.