You must know your characters--inside and out. That is one of the benefits that I am seeing in the Snowflake program that I recently purchased. The questions answered for each character is very in-depth. When you are finished with the page on the character, you know him or her as well as you know yourself--well, almost, LOL!
Of course, you don't have to use the Snowflake program to do this. An easy method is to make a detailed page of each of your main characters. In other words, write their history--even things that you won't include in your novel, such as a few fun events from their childhood--something only you will know about them that will shape their personality.
It's not necessary to do this for every character in your novel, but try it out on your hero and heroine and maybe two or three other characters in your novel.
This method may add a few extra days of time before you start your novel, but the better you know your characters, the more they will come alive for your readers. And pleasing your readers by making your story believable is your main goal.
Happy writing!