First for the readers to care at all about the characters the characters have to feel real. It's hard to explain how to make a character 'real' (kind of an 'I know it when I see it' sort of thing). Real people have reasons for their behavior, but the reasons are often convoluted and frequently the person themselves isn't fully aware of them. Real people react differently to situations depending on their emotional state at the given moment (which also lends a nice quality of unpredictability to the story). Real people change their minds, make rash decisions, and get confused at inopportune times. An understanding of psychology can go a long ways towards making your characters feel real.
But just because a character feels 'real' doesn't necessarily mean I'm going to care about them. I also have to like this realistic person. They have to have qualities I can identify with and respect. I've discovered that there are a lot of different ways to make characters likable to readers, even characters who are very tough, cold, or insensitive. All sorts of things can help readers find a character likable; a sense of humor, regrets, a weakness mixed with an exceptional skill, a sense of honor, a unique outlook on life, optimism in a bad situation, or a choice few of a hundred other attributes. Even characters who do a lot of bad things (a hired killer, for example) can be made likable by giving them enough redeeming personality traits and a reason for how they have become.