Fredette made 11-of-24 shots, including 4-of-9 from three-point range, and converted 16-of-17 free throws.
Wes Eikmeier had 25 points to pace the Rams (13-6, 3-2), who were denied their third straight win. Travis Franklin contributed 21 points, while Andy Ogide notched a double-double with 18 points and 10 boards in defeat.
Colorado State trailed 70-54 after Brandon Davies converted his own miss for BYU, but the Rams countered with a 9-1 surge to pull within 71-63 on Eikmeier's three-pointer with just over nine minutes remaining in regulation.
Dwight Smith's three-pointer trimmed Colorado State's deficit to six, but Fredette answered with a trey of his own. Moments later, the Rams closed to within 78-73, only to have Fredette respond with a layup.
Emery drained a three-pointer to push the lead to 86-74 with 3 1/2 minutes left.
"It was a great win," BYU head coach Dave Rose said. "Colorado State just kept coming back and coming back. In the second half they were hard to stop."
BYU jumped out to a 23-11 lead, but the Rams came back with eight straight points. Fredette's three-pointer put the Cougars up 55-40 at halftime.
Davies had 12 points and nine rebounds...BYU shot 50 percent from the field, while Colorado State made 48 percent of its shots.