The visitors dominated possession early on, but had to settle for two Johan Goosen penalties inside the opening quarter of an hour.
A series of quick passes out wide set up an opening try for Racing soon after, though, with Francois van der Merwe taking the ball over in the corner.
Dan Biggar kept Ospreys in contention at the break, adding two penalties in the first half, and the fly-half split the uprights again twice in the first 15 minutes of the second to cut Racing's lead to four points.
Goosen attempted to seal the win with a drop goal inside the last 10 minutes, but Josh Matavesi sprinted over late on to level the scores.
The result leaves Ospreys third in the table, while Racing sit second.