The score was tied 36-36 with 9 minutes to go when Princeton (16-8, 4-6 Ivy League) scored 10 straight points, capped by Will Barrett's 3-pointer for a 46-36 lead with 6:03 left.
Bray's 3-pointer with 3:21 left extended Princeton's lead to 52-39 and Yale (14-11, 8-3) got no closer than 10 points from there. Spencer Weisz had 14 points and Hans Brase had 12 points for the Tigers.
Justin Sears led the way for the Bulldogs with 22 points, nine rebounds and three blocks while Javier Duren added 13 points.
With a second loss in a row, Yale drops two games behind Harvard for first place in the Ivy League with three games left to play. Yale will host Harvard on March 7.