The Eagles are 2-0 for the first time since 2004 which was the year that Donovan McNabb and Terrell Owens led them to the Super Bowl.
Rookie kicker Justin Tucker made field goals of 56, 51 and 48 yards for the Ravens, but Joe Flacco couldn't get Baltimore (1-1) in his range in the final minute.
Flacco overthrew Ray Rice on fourth-and-1 from the Ravens 46, and the Eagles ran out the clock.
Vick threw four interceptions at Cleveland last week, but rallied the Eagles to a 17-16 win.
Down 23-17, the Eagles started at their 20 with 4:43 left. Vick threw passes of 24 and 13 yards to Brent Celek. A 19-yard pass to Clay Harbor coupled with a roughing-the-passer penalty put the ball at the 3.
Vick then threw incomplete as he was being hit by Haloti Ngata, but the play was ruled a fumble and it was recovered by the Ravens. A replay overturned the call and Vick scored on the next play.
The Eagles committed three turnovers in the red zone in the first half and lost two starting offensive linemen in the second. Eagles have nine turnovers in two games, a major reason why they only have 41 points despite totaling 942 yards of offense.
Vick finished the game going 23 of 32 for 371 yards with one touchdown and two interceptions. Celek had eight catches for 157 yards and DeSean Jackson had seven receptions for 114 yards.
Eagles will continue to keep the winning streak going as they head to Arizona to face the surprising 2-0 Cardinals.