The Ospreys' LV= Cup campaign ended in defeat by Harlequins at Bridgend's Brewery Field as Harlequins sealed a home semi-final against Bath.
Centre Matt Hopper scored the game's only try for the visitors.
Hopper's midfield partner Ben Botica added the conversion and three penalties.
The Ospreys' points came from the boot of fly-half Matthew Morgan, who kicked four penalties, who also came close to going over after a break from half way.
Ospreys: Jamie Murphy; Tom Grabham, Jonathan Spratt, Ben John, Dafydd Howells; Matthew Morgan, Rhys Webb (capt); Marc Thomas, Scott Baldwin, Campbell Johnstone, Lloyd Peers, Sam Williams, Jonathan Thomas, Arthur Ellis, Morgan Allen.
Replacements: Kahn Fotuali'i for Grabham (64), Tom Habberfield for Webb (57), Duncan Jones for M Thomas (50), Matthew Dwyer for Baldwin (58), Dmitri Arhip for Johnstone (57), Ian Gough for Peers (57), George Stowers for J Thomas (50), Dan Baker for Allen (74).
Harlequins: Ross Chisholm; Seb Stegmann, Matt Hopper, Ben Botica, Sam Smith; Rory Clegg, Karl Dickson; Mark Lambert, Dave Ward, Will Collier, Sam Twomey, Charlie Matthews, Joe Trayfoot, Tom Guest, Luke Wallace (capt).
Replacements: Ollie Lindsay-Hague for Chisholm (53), Darryl Marfo for Lambert (40), James Johnston for Collier (33), Maurie Fa'asavalu for Trayfoot (62).
Not Used: Harry Allen, Charlie Walker, Jordan Burns, Louis Grimoldby.
Ref: Martain Fox (RFU).