The Cowboys (6-6) trailed 27-24 when Romo led an 86-yard drive that was sparked by a 35-yard pass to Dez Bryant on third down. Bryant gave Dallas the lead when took a screen pass from the 6 and got inside the pylon with 5:40 remaining.
After Romo's go-ahead touchdown pass, Dallas went up by 11 when Morris Claiborne returned a fumble by Brown 50 yards for a touchdown.
Brown's fumble snapped a streak of eight straight scoring drives by both teams.
Philadelphia had a chance for an improbable rally when Damaris Johnson returned a punt 98 yards with 31 seconds left. After a failed 2-point conversion kept the score at 38-33, the Cowboys recovered the onside kick.
Nick Foles, another Philadelphia rookie making his third start in Michael Vick's place, led the Eagles to a 27-24 lead early in the fourth quarter on a 43-yard field goal by Alex Henery, who now has the longest current field goal streak at 21 after Cleveland's Phil Dawson had a kick blocked Sunday.
Romo had another response, and ended up completing all 10 passes in the second half and his last 12 overall. He was 22 of 27 for 303 yards with no interceptions and a passer rating of 150.5.
Dallas running back DeMarco Murray, who started after missing six games with a sprained right foot, finished with 83 yards and a touchdown.
Brown, who started his first game since high school when he filled in for LeSean McCoy last week, went in untouched on both of his scoring plays in the first half. He scooted around the left side for a 7-0 lead and trotted through a big hole up the middle to make it 14-3 midway through the second quarter.
Vick and McCoy are sidelined by concussions.
Philadelphia, which has lost seven straight games, was in front after the first quarter for the first time all season, but Dan Bailey got the Cowboys on the board with a 39-yard field goal early in the second. DeMarco Murray's 1-yard touchdown run trimmed the Eagles' lead to 14-10 with 41 seconds left in the half.
Romo overcame a holding penalty and an 8-yard loss when Kevin Ogletree fumbled a handoff on a reverse by completing third-down passes to Jason Witten, Bryant and Miles Austin. Romo then found Witten all alone in the middle of the field for 28 yards to the 1, setting up Murray's score.
The Eagles answered by driving 52 yards in 35 seconds to a 43-yard field goal by Henery on the last play of the half. Foles completed a 29-yard pass to Jason Avant to get the Eagles in scoring range.
Brown got Philadelphia's first scoring drive going with a 42-yard run up the middle and finished it with a 10-yard run.
Trailing 7-3 early the second quarter, the Cowboys went three and out after a third-down completion from Romo to Witten was overturned on a challenge by Eagles coach Andy Reid. Replay showed the ball hitting the turf as Witten grabbed it.
Two plays later, Brown went 39 yards down the sideline and later scored from 5 yards out.
The Cowboys welcomed Murray back by running him three straight times to start the game after calling 52 straight pass plays from the second quarter to the end of a Thanksgiving loss to Washington. The first time Murray went to the sideline, Romo was sacked by Brandon Graham on third-and-3.
After the first Philadelphia touchdown, the Cowboys drove down the field for Bailey's field goal. Romo found Witten for 11 yards on third-and-10 and escaped pressure to complete a pass to Cole Beasley for 13 yards to the Eagles 41. Romo also had a 15-yard scramble.
Murray, who had 90 yards in the first half when he was injured against Baltimore on Oct. 14, had 31 yards on five carries in the first quarter.
Not only did Dallas get Murray back, but the offensive line was closer to full strength. Center Ryan Cook returned after missing time with a knee injury, which allowed Mackenzy Bernadeau to return to guard after two starts at center.