PHILADELPHIA -- Donovan McNabb needed just two plays to show his rib was fine and he wasn't rusty.
"I felt pretty good," McNabb said. "I thought it was a slow process. I didn't think the first touchdown would happen that fast."
The lopsided score allowed Michael Vick to take extra snaps in the fourth quarter. He completed his first pass in 33 months and had an 11-yard run.
The Eagles (3-1) improved to 11-0 after a bye week under coach Andy Reid.
The Buccaneers (0-5) remained winless under new coach Raheem Morris and extended their losing to streak to nine games, dating to an 0-4 December that cost them a playoff spot last year.
"Obviously we were outplayed today by a better football team," Morris said. "They outplayed us across the board, they made bigger plays than us. I tried to be more aggressive because we were playing a better team today. We've got strides to make. We have to go back and evaluate what we've done."
McNabb was injured running for a score in the season opener at Carolina. He sat out the next two games while Kevin Kolb became the first quarterback to throw for 300 yards in his first two career starts.
But McNabb didn't hesitate to run, scrambling for 13 yards on his first play from scrimmage. On the next one, he fired a perfect 51-yard TD pass to Maclin to give the Eagles a 7-0 lead.
The Buccaneers were never in it after the first score.
"I was able to move around and be very effective doing different things, pick up a couple first downs with my legs," McNabb said. "I was able to let defenses know that can happen."
"I'm blaming myself right now. Three turnovers, two of them in the red zone," Johnson said. "They were bringing everybody. They were bringing more than we had protection. They had an extra guy every time. The coaches in the locker room said they had never seen anything like that before."
After losing a defensive touchdown on a reversal -- Johnson was ruled down following a fumble on fourth-and-1 before Akeem Jordan stripped him and ran it back 76 yards -- the Eagles' offense made up for it.
But the Buccaneers answered with a five-play, 80-yard drive. Johnson connected with Antonio Bryant for 31 yards on the first play and fired a 9-yard TD pass to Winslow over the middle.
The Eagles quickly went up 21-7. McNabb scrambled for 17 yards before throwing a 40-yard TD pass to Maclin in traffic.
Maclin, starting for the injured Kevin Curtis, finished with six catches for 142 yards, third most by an Eagles rookie.
"With the talented group of guys we have, big games are going to rotate between different guys," Maclin said. "I expect to make plays."
McNabb finished 16 of 21 and his QB rating of 157.2 was the second highest in his career. He also had a team-high 30 yards rushing.
"I saw him run the ball. I didn't know that would be as much a part of his game. He did a good job with it," Reid said.
The game marked the return of middle linebacker Jeremiah Trotter to Philadelphia. Trotter, a four-time Pro Bowl pick in his first two stints with the Eagles, hadn't played in the NFL since 2007 with Tampa Bay. Trotter wasn't announced as a starter, but ran out of the tunnel to a loud ovation and did his signature ax chop. Then he was on the field for the first play and played on many running downs.
Vick was on the field at QB and wide receiver for six plays that totaled 7 yards before coming in at the end. He finished 1 of 3 for 1 yard and ran twice before kneeling two times.
"We had a lead so it was good to get out there and play some quarterback, throw the ball around a little bit," Vick said. "That's just part of me getting myself back into football playing shape, whether it's doing the wildcat or playing the quarterback."
Reid became the 34th coach to win 100 regular-season games. He's one of four actives coaches to reach that mark. ... Westbrook passed Hall of Famer Tommy McDonald for third place on the club's all-time TD list with 68. ... Maclin is the third different player in three games to have 100 yards receiving for Philadelphia. ... Bucs LT Donald Penn caught a deflected pass and rumbled 15 yards.
Giants wide receiver Odell Beckham Jr. set an NFL record for receiving yards in a player's first 16 games, surpassing the mark set by Houston's Bill Groman in the 1960-61 seasons.
More money was bet on the Jets-Dolphins game at Ladbrokes than any previous NFL game played at Wembley Stadium in London, according to a spokesman for the U.K. sportsbook.
Houston Texans running back Arian Foster played for the first time in 2015 against the Atlanta Falcons on Sunday, marking his first game action since tearing his groin Aug. 3.
Philadelphia Eagles running back DeMarco Murray, who has been hampered by a hamstring injury, was active against the Washington Redskins on Sunday.
Drew Brees told ESPN NFL Insider Ed Werder that he believes his passing shoulder is healthy and he is capable of making every throw necessary when the Saints host the Cowboys on Sunday night.
Bears quarterback Jay Cutler, who has been hampered by a hamstring injury, was active and started Sunday's game against the Oakland Raiders.