Farnham, a junior wide receiver, had 285 all-purpose yards and Dereck Knight ran for 89 yards and a touchdown for the Bears (3-2 overall, 2-0 Ivy), who won for the first time at Princeton (2-3, 1-1) in five years.
Princeton's Meko McCray scored on a 12-yard sweep to cut Brown's lead to 14-10 in the second quarter, but was shut out the rest of the way.
Farnham's 46-yard punt return set up his 20-yard touchdown catch to give Brown a 24-10 lead, and he added a 3-yard run for the game's final score.
Ben Bologna's first career field goal opened the scoring for Princeton. Robert Ranney added a 33-yard field goal in the third quarter for Brown.
After Bologna's field goal, Dougherty ran for 34 yards on a keeper to set up Knight's 6-yard touchdown run. On Brown's next drive, Dougherty found Farnham for 28 yards to set up a 2-yard touchdown run by Bobby Sewall to give the Bears a 14-3 lead.