Both seem to mean story so I am wondering what the difference between them is.
はなし（話） is the most basic word for any spoken content, that can be translated as talk, story, rumor, argument, report, discourse etc. as far as I can think of off the top of my head.
ものがたり（物語） is an old word that means "story-telling", and due to long-standing tradition 「X ものがたり」 becomes a fixed expression to say "tale of X", such as カンタベリー物語 Canterbury Tales or 二都【にと】物語 A Tale of Two Cities.
はなし has few special meanings, but we specifically refer to an episode of rakugo by this word (in this case, it's usually written in kanji 噺).
Generally, the comment of @Kurausukun to your question is correct.
Literally, 話｛はなし｝ hanashi is a story, and 物語｛ものがたり｝ monogatari is the noun form of 物を語る which means "to tell something" or "to tell a story".
To me, monogatari sounds having more meaningful or longer contents of a story than that of hanashi, and thus is more suitable to refer to the contents of a novel.