The Galaxy extended their unbeaten streak to seven.
CJ Sapong scored for the Union, who fell to 7-10-3.
Sapong gave the Union a 1-0 lead in the 29th minute when he redirected a shot in front for his third goal of the season and the 55th of his career.
Sapong went the previous 11 games without scoring a goal.
Ibrahimovic continued to attack throughout the first half and nearly equalized for the Galaxy in the 40th minute with a huge strike from about 20 yards out. But Union goalkeeper Andre Blake was in good position to make the save.
In the 43rd minute, Ibrahimovic ripped a free kick just wide and high over the net from outside the box.
The Union went into the locker room with a 1-0 lead and had been 6-0-0 this season when winning at half-time.
In the 48th minute, the Galaxy tied the game at 1 when Kamara broke free and chipped a shot over Blake. Ibrahimovic sent a beautiful pass through three Union players to a streaking Kamara, who notched his eighth goal of the season.
Ibrahimovic was taken down by Philadelphia's Auston Trusty, giving the Galaxy a free kick from about 25 yards out. Romain Alessandrini hit a strong right-footed strike which was deflected away by a diving Blake in the 58th minute.
Ibrahimovic dribbled to the left of the box in the 63rd minute and sent a strike into the net for a 2-1 Galaxy lead. It's the 12th goal in 15 games for Ibrahimovic since joining the Galaxy.
In the 74th minute, Philadelphia's Cory Burke was open for a clean shot in the box but he misfired over the top of the net.
Ciani scored in the 82nd minute by finishing a corner kick with a header to give the Galaxy a two-goal cushion.
Philadelphia 1-3 LA Galaxy: Zlatan at it again - Via MLS
Zlatan Ibrahimovic's 12th goal of the season was part of a second-half surge by LA Galaxy that saw them overcome Philadelphia's early lead.