With half an hour to go it was Ulster who scored the first points of the second half when McCormick scored his second try of the game, this time scoring from five yards out.
Ulster spent ten minutes of the second half a man down after Harry Sheridan was sent to the sin bin for a high tackle, but the Ospreys were unable to make the most of their numerical advantage.
They did score from a well-taken penalty when Tom Florence’s floating pass pushed winger Giles into the corner, but the missed conversion ensured they lost the penalty period 7-5 after Stockdale grabbed his second try and Nathan Doak took the Added extras to complete the rating.
Ulster: Lowry; Kok, Carson, McCloskey, Stockdale; Morgan, Cooney; O’Sullivan, McCormick, O’Toole; O’Connor (Captain), Sheridan; Izuchukwu, Marcus Rea, McCann.
Substitute: McElroy, Reid, Wilson, Treadwell, Matty Rea, Doak, Humphreys, Postlethwaite.
Yellow card: Sheridan
Osprey: Walsh; Kasende, Boshoff, Williams, Giles; Edwards, Hardy; G Thomas, Parry, Warren; Greatbanks, Jones; Lloyd, Tipuric, Morris (captain).
Substitute: Lewis, Phillips, Iowerth-Scott, R. Thomas, Gemine, Morgan-Williams, Florence, Nagy.
Yellow card: Hardy