The visitors, third in the table, were depleted having lost a raft of players in the week and a fast start from the home side saw them 17-0 to the good and seemingly in control of the game.
Carnforth got back into the match shortly before half-time, Mathew Short outstripping the defence to score under the posts before converting the try himself.
Dave Hones, Jason Short, Sam Tomlinson and Joe Harrison all went close to reducing the gap further but it remained 17-7 at the break.
A feisty opening to the second half halted Carnforth’s progress and the home side extended their lead on the hour mark.
The visitors refused to lie down though with Shane Weed, Dan Shepherd and Hones all making ground before Harrison was able to burst clear and score after a great break by Tomlinson down the left, reducing the arrears to 12 points with five minutes left on the clock.
With just two remaining Brad Wheatman then scored under the posts, Mathew Short adding the extras, to set up a grandstand finale.
Ormskirk held on though with Carnforth next in action at Southport on Saturday.