The Ospreys' hopes of progressing beyond the LV= Cup pool stage were dealt a blow at Exeter.
Henry Slade gave the hosts the lead and Morgan Allen struck back with a try converted by Sam Davies, who added a penalty.
But tries by Will Carrick-Smith and Myles Dorrian, converted by Slade, gave the hosts a 17-10 lead at the break.
Slade added two more penalties in the second period with Davies kicking his second penalty for the visitors.
Exeter: Myles Dorrian, Jack Nowell, Nic Sestaret, Sam Hill, Mark Foster, Henry Slade, Junior Poluleuligaga (capt); Luke Cowan-Dickie, Jack Yeandle, Hoani Tui, Damian Welch, Will Carrick-Smith, Justin Blanchet, Joel Conlon, Dave Ewers.
Replacements: Neil Clark, Ben Moon, Alex Brown, Aly Muldowney, Sam Simmonds, Rob Coote, Josh Tatupu, Ian Whitten.
Ospreys: Ross Jones, Tom Grabham, Ben John, Jonathan Spratt, Will Price, Sam Davies, Tom Habberfield; Marc Thomas, Matthew Dwyer, Owen Williams, Ian Gough, Sam Williams, Joe Bearman (Capt), Arthur Ellis, Morgan Allen.
Replacements: Scott Otten, Ryan Bevington, Nicky Thomas, Lloyd Peers, James King, Rhys Webb, Matthew Morgan, Tom Isaacs.