"Last week, we didn't finish the game," McCoy said about blowing a 21-point lead in a 31-28 loss to Houston. "We made too many mistakes. Today, we finished."
The Eagles took a 27-23 lead when Vick ran in from the 2, but the defense couldn't hold it.
Henery allowed the ball to slip through his hands when Fozzy Whittaker fumbled on the kick return and the Chargers started at the Eagles 39. A few plays later, Rivers tossed a 15-yard TD pass to Royal for a 30-27 lead.
DeSean Jackson had 193 yards receiving, including a 61-yard TD, for the Eagles. LeSean McCoy had a career-high 114 yards receiving.
"We made our share of plays today and I think we're going to get better," Vick said.
Antonio Gates led the Chargers with 124 yards receiving, Floyd had 102 and Royal added 90.
Rivers found Royal wide open on a third-and-10 for a 24-yard TD pass for a 20-10 lead, but the Eagles got a field goal then tied it when Vick hit Jackson in stride on a deep ball.
Vick tossed a 13-yard TD pass to Riley Cooper to cut San Diego's lead to 13-10 in the second quarter.
Then the Chargers wasted two excellent opportunities on consecutive drives.
Brandon Boykin forced Gates to fumble after a catch, and Casey Matthews recovered at the Eagles 2.
The Chargers were at the Eagles 8 on their next possession before Trent Cole forced Ryan Mathews to fumble and Mychal Kendricks recovered. Vick quickly moved the Eagles into field-goal range, but Henery missed a 46-yarder wide right at the end of the half.
NOTES: Royal has five TDs on 10 catches in two games. ... Chargers rookie LB Manti Te'o didn't play because of a sprained right foot that he injured in a preseason game Aug. 8. ... Eagles starting CB Bradley Fletcher was sidelined because of a concussion.
Online: http://pro32.ap.org/poll and http://twitter.com/AP_NFL
Follow Rob Maaddi on Twitter: https://twitter.com/AP_RobMaaddi
The 8 Best Natural Gas Stocks. Find Out How to Invest.