DeMarco Murray had a pair of TD runs to help the Cowboys (10-4) move ahead of the Eagles (9-5) into first place in the NFC East. The Eagles dominated the Cowboys in a 33-10 road win on Thanksgiving, but Dallas takes control of the division with two weeks left.
"Just came out poised. I was focused," Bryant said. "We knew that this game was going to be big. We're not really out trying to prove nothing to nobody. We're trying to stay together, play together and understand from here on out it's big games. We've got to stay together. We've got to block everybody else out. We can't be in to all of that."
The NFC-leading Arizona Cardinals (11-3) clinched a playoff berth because the game didn't end in a tie.
The Cowboys took a 21-0 lead early in the second quarter before Philadelphia rallied behind Mark Sanchez.
Chris Polk had TD runs of 1 and 5 yards and Darren Sproles ran in from the 1 to give the Eagles a 24-21 lead late in third quarter. But Romo and the Cowboys answered quickly with two touchdowns in a 2:51 span.
Murray scored on a 2-yard run to cap a 78-yard drive. After J.J. Wilcox intercepted Sanchez's pass, the Cowboys started the fourth quarter at the Eagles 42. Romo then hit Bryant in stride for a 25-yard scoring pass.
"Having a guy like Dez makes it easy to throw to spots that he can go get it," Romo said. "Just lucky to have him."
Bryant couldn't wait for this game after being held to 73 yards on four catches in the first meeting. After that game, he called Philadelphia's secondary "cheap" and he had a heated exchange with Jenkins before the game. Bryant came back twice after Jenkins walked away and it wasn't known why they argued.
"Just great competitors going at it, that's all," Bryant said.
Bryant finished with six receptions for 114 yards. He beat cornerback Bradley Fletcher on each of the TDs.
"I just had a terrible game," Fletcher said.
Romo threw for 265 yards and Murray ran for 81 on 31 carries.
Sanchez had 252 yards passing and two interceptions. LeSean McCoy was held to 64 yards rushing.
"I didn't play well enough to win and that's why we lost," Sanchez said.
Sanchez completed a 72-yard catch-and-run pass to Jeremy Maclin on third-and-12 to the Cowboys 1 before Polk ran in to get the Eagles to 21-17.
The Eagles had won 10 straight regular-season games at home before losing to Seattle and Dallas for their first consecutive losses since Weeks 7 and 8 in 2013.
After Romo threw a 26-yard TD pass to Bryant early in the second quarter, the Cowboys had outscored the Eagles 21-0 and outgained them 167-0. Curry sacked Romo on third down two plays before the TD pass, but a holding call on Cary Williams kept the drive going.
The Cowboys recovered what ended up being an onside kick to start the game. A short kickoff bounced between deep returner Josh Huff and short man Brad Smith at the 15 and was recovered by C.J. Spillman at the Eagles 18.
Murray then ran in from the 1 to make it 7-0.
"We can't turn the football over and expect to win games," Eagles coach Chip Kelly said. "We're not coaching it and we're not doing the right things."
Bryant caught a 4-yard TD pass to put Dallas up 14-0.
The start was the opposite of the first meeting when the Eagles steamrolled the Cowboys on their way to a convincing win. The Cowboys bounced back from that loss with a win at Chicago last Thursday night and had three extra days to prepare for the rematch.
The Eagles beat the Cowboys last year in a winner-take-division game at Dallas in Week 17. Romo missed that game after having back surgery.
Dallas had 364 yards and held the Eagles to 294 for Philadelphia. ... The Cowboys held the ball for 41:55. ... Sanchez was sacked four times.