JACKSONVILLE, Fla. -- Michael Vick missed some throws, had one picked off and even was sacked twice.
It wasn't perfect, but it was good enough for Vick to declare himself ready for the regular season.
Vick completed 15 of 23 passes for 184 yards, with a touchdown and an interception, and the Eagles rallied to beat the Jacksonville Jaguars 31-24 in a preseason game Saturday night. He also ran for 53 yards, most of them coming after plays broke down.
Just days after being named the starter, Vick showed solid command of new coach Chip Kelly's up-tempo offense.
"I think there were a lot of things that happened tonight that are very promising for our team," Vick said. "I ran the ball pretty well. I don't want to run that much, but I would if I have to. I did it and protected myself all night. If I can do it like that, then I can help this football team."
Vick found Riley Cooper for a 9-yard score in the second quarter.
"I thought Michael did a really good job of keeping plays alive at times, but there are other times where you have to cut your losses and get us back to the line of scrimmage and get the next snap off," Kelly said. "He did a good job of not forcing the football. He did a good job of making them honest and picked up some good yardage in running after they did a good job in coverage.
"If you do that, then your quarterback can hurt you with his feet, and I think that's what Michael did tonight."
Nick Foles, who lost the starting job to Vick earlier in the week, completed 10 of 11 passes for 112 yards in the second half.
"That's what I expect out of him," Kelly said. "He's an outstanding quarterback. I said that when we made the decision with Michael that I feel we have two quarterbacks that are quality NFL quarterbacks. We expect him to do that. That's the type of player he is."
LeSean McCoy ran five times for 9 yards. Brown got more work, finishing with 92 yards on 11 carries.
Jacksonville's Chad Henne, who lost the starting job to Blaine Gabbert earlier in the week but got the start because Gabbert has a broken thumb, completed 11 of 18 passes for 106 yards, with two touchdowns and an interception.
Both teams played up-tempo most of the night, often going without a huddle and trying to keep defenses off balance and out of breath.
"For the most part, the tempo is such a tremendous strain on the defense," Jaguars coach Gus Bradley said. "I thought we handled it really well. We had a good game plan to handle the tempo and it slowed down somewhat as the game has gone on."
Jacksonville (0-3) had several positives. Receiver Cecil Shorts III, who missed the last three weeks with a left calf strain, made his preseason debut. He caught one pass for 20 yards and escaped without a setback.
Rookie right tackle Luke Joeckel returned after missing last week's preseason game because of a hip flexor and played well.
And Todman showed the kind of burst the Jaguars have been lacking in the backfield. With Justin Forsett having missed three preseason games because of a sprained toe, Todman may have solidified his chances of making the 53-man roster. His big run was longer than anything the Jaguars have had in the last two years.
"We always talk about who's fast," Jones-Drew said. "Todman right there showed he had a little speed, but we'll see later on who's the fastest at the end of the season."
Jacksonville had one huge negative: Starting left guard Will Rackley, who missed all of last season because of an ankle injury, injured his left knee on the team's first offensive play. X-ray were negative, but an MRI was scheduled for Sunday.
The Jaguars were ahead after three quarters, but failed to hold a lead for the second consecutive week.
The Eagles outgained Jacksonville 452-346 and added 189 yards in kickoff and punt returns.