I really couldn't decide between these two. So, both.
Rubeus Hagrid and Severus Snape.
These two are also among my top three favorite characters across the board.
I like them for different reasons. Snape is not a character I personally LIKE - in fact, most of the time, I can't stand the guy - but he IS one of the most fascinating characters in the entire series. In fact, Snape is not just one of the most important characters in the books, but one of the most unique. There was always (no pun intended, I swear) question as to where his loyalties did, in fact, lie; consistently, from book one, all the way through book seven. And once we knew his backstory - even those of us who guessed at what it might have been - it made everything so much clearer. He is both a tragic and triumphant character at the same time. Brava, JK Rowling.
Hagrid, meanwhile, is probably the most unsung hero of the books. The films almost completely deplete his character. Hagrid is, as Rowling herself said, the person who led Harry into the wizarding world, and carried him back out again. It is Hagrid who personally takes Harry away from the Dursleys and was the one who told Harry that he was a wizard and, too, about Voldemort. Hagrid is one of the most honest characters in the books; he tries his best at everything and truly wants to do good in the world. He cares, fiercely for his friends and, in my opinion, is one of the best examples of a true Gryffindor. I knew, when Deathly Hallows was published that the one character death I would not be able to forgive would be Hagrid's. And, thank you JKR for keeping Hagrid safe. <3