1. Choose a name that fits. Don't give similar character names or only in a situation where there's no way they can be confused--an example might be a young male child and an old man. Last names suggest ethnicity--if that's not your intent, you may want to reconsider. Be careful of the baggage names can bring.
2. Know your characters in and out--you should know how they'd react in any given situation. What are their food likes and dislikes? Do they obsess about anything? What motivates them to do something? Be careful with speech patterns. A lot of heavy phonetic language is hard to edit and to read. Slang and colloquial terms go out of date quickly. Unique mannerisms, attitudes, abilities, and capabilities are options but be sure you provide good descriptions.
3. Flaws - life altering attributes
4. Strong sense of purpose - your main characters should have solid belief and value systems. Those can be flawed. Have to want/need something badly.
5. Smart, tenacious, perceptive, dedicated, and tough--but they need to be sympathetic when appropriate. Readers want the characters to be capable but not perfect so the reader can relate to them.
6. Characters should have emotional baggage so they'll have something to overcome. They have to grow.
7. Relationships - family, friends, acquaintances. Do their relationships drag them down or support them? How different do they act depending upon who they're with? Are the characters surprised when something new is foisted on them?
8. Give the characters something the readers can identify with. Whatever emotion the story is invoking should be relatable. What commonality could they all have? The character could be the readers' best friend, next door neighbor, etc. But your characters should also be uncommon enough to be interesting. Protagonist shouldn't be perfect and the antagonist shouldn't be perfectly evil.
9. Give your character a phobia and play on it.
10. A talent, definite tastes or knowledge--show this early on and play on it throughout the story.
11. Work against stereotypes.
12. Give habits or patterns that make your characters unique. Is your character a slob or a clean freak? Make sure you stay true to those characteristics throughout--unless the changes are part of the characters' growth.. If they deviate, it should be a sign that something's afoot.
13. Write what is going underneath--when the characters act out of sync, there should be a reason for it.
What do you do to help flesh out and make your characters three dimensional and believable?