He engineered a seven-play, 74-yard second-quarter touchdown drive on one of the three series he played. Had another potential scoring drive killed by a Chris Polk fumble.
In the first two preseason games, Vick has a not-of-this-world .866 completion percentage and has averaged 13.3 yards per attempt. On the five offensive series in which he has been behind center, the Eagles have averaged 8.2 yards per play.
Foles hasn't quite been able to match Vick's impressive numbers, but he has come close. Close enough to force a third game in this best-of-three quarterback battle.
"We're going to have to make a decision," Kelly said. "We're not going to rotate them on every play. We'll see. One of them may sprain an ankle walking out of the parking lot. Then the decision is made.
"But I think it's a good situation. Both of them can move our offense."
Foles, who started last night's game and played the entire first quarter, completed six of eight passes for 53 yards against the Panthers. Also ran for 13 yards on two carries, including a 7-yard touchdown run around left end late in the first quarter.
His one major mistake against Carolina was a red-zone interception with 6 minutes, 19 seconds left in the first quarter. After leading the Eagles from their 5 down to the Carolina 8, he fumbled the snap from center Jason Kelce for the second time in the game, then was pressured by Panthers defensive end Greg Hardy.
Foles tried to throw the ball out of the back of the end zone, but threw off his back foot because of the pressure from Hardy. The pass stayed in play and was picked off by Panthers cornerback Josh Thomas.
"I missed the snap," Foles said of the interception. "Then I was feeling pressure. I tried to throw it out of the end zone, but something happened and it didn't quite get there."
In the four series Foles has played in the first two games, the Eagles have scored two touchdowns. He has a .786 completion percentage, but is averaging only 6.8 yards per attempt. The Eagles have averaged 6.5 yards per play when Foles has been in the game.
Vick clearly has a statistical lead over Foles through two games. He has an impressive 113.2 passer rating. Take away the Hail Mary interception and it jumps to 141.0.
Foles has a 65.5 passer rating through two games. His biggest negative in those two games is turnovers. He had the interception last night and he lost a fumble against the Patriots when right guard Todd Herremans blew an assignment and allowed defensive tackle Tommy Kelly to slip into the backfield and hit Foles. He also has fumbled two snaps.
"Part of being a good quarterback is being able to secure the football," Kelly said. "He's got to be able to see the snap in [to his hands] and read the coverage."
In the nine series Vick and Foles have played in the first two games, the Eagles have scored four touchdowns and gained 424 yards on 58 offensive plays. That's an impressive 7.3 yards per play. Last season, the Eagles averaged 5.3 yards per play.
A breakdown of their throws in the first two games shows that Foles has done a lot more checking down than Vick.
Ten of Foles' 14 attempts have been throws of less than 10 yards. He's 9-for-10 for 70 yards on throws of less than 10 yards, and 2-for-4 for 26 yards on throws of 10-19 yards. He has not attempted a pass of 20 yards or more.
Vick, meanwhile is 2-for-3 for 69 yards on throws of 20 yards or more, including his 47-yard touchdown pass to DeSean Jackson last week against New England.
Vick is 6-for-6 for 99 yards on throws of 10 to 19 yards, and 5-for-6 for 31 yards on throws of less than 10 yards.
"It's good decisions to take what the defense gives you," Kelly said of Foles' shorter throws. "They played off a little bit. You've got to throw it underneath sometimes. Both of those guys aren't forcing it."
Said Foles: "The time will come to launch one out there."
Foles played the entire first quarter last night and Vick played the second. Vick, who didn't run Kelly's up-tempo offense in the two series he played against the Patriots, ran it against the Panthers and looked comfortable doing it.
Both Foles and Vick took advantage of the running of LeSean McCoy, who made his first appearance of the preseason and rushed for 47 yards on eight carries in the first half, including a 21-yard run that nearly broke the ankles of Panthers cornerback Drayton Florence, and a 1-yard touchdown run around left end late in the second quarter.
Vick had a 22-yard completion to Riley Cooper four plays before McCoy's touchdown run.
Asked after the game how he tells Vick he's not the season-opening starter after what he's done in the first two games, Kelly said, "That's a good question. He put another good game together tonight.
"But we're going to evaluate everything. With the exception of the throwaway Nick couldn't get out of the end zone, he did a nice job, too. I think we have two quarterbacks who can play in an NFL game. We'll continue to look at it."
Will Kelly's decision come down to strictly numbers? Will Vick's age - 33 - count against him? Will his contract count against him? We'll find out soon enough.
"That's up to the coaches," Foles said. "All I can do is go out there and correct what I did wrong and just improve.
"Michael's a competitor. He's a great quarterback. And it's made me a better quarterback going against him. I'm learning a lot about myself just going through this competition.
"Mike and I have a great relationship. I'm happy to see him doing well out there."
Click here for complete coverage of Philadelphia Eagles training camp.
On Twitter: @Pdomo