The question rests not in how we define hero as much as it does in how literature defines heroes. Laertes is the classic kind of hero as someone mentioned earlier. He is willing to do what needs to be done to avenge his father’s death. We must consider, however, that Horatio is meant to be considered the greater hero as he is the one who steps into Hamlet’s shoes to “tell his [Hamlet’s] story.
Hamlet would certainly say that Horatio is the more admirable, if not strictly "heroic" character. In Act 5 he even says "blessed are those whose blood is so well comeddled" that they are able to balance passion with intellect. Traditionally, Hamlet is seen as the overly thoughtful character, and Laertes that man of action at any cost, even saying that he "dares damnation" in his willingness to seek revenge. In the end, Horatio first considers suicide join his good friend Hamlet in death, but is quickly talked out of it when the rational request from Hamlet appeals to his higher sense of justice -- the need to tell Hamlet's story to the world, else people think that all this death is his fault.
I would argue that it depends on your definition of hero. Of course the fact that Laertes dies in the midst of his attempt at heroics (in his mind answering the death of his father and sister on the man who caused them) helps to make him the more likely hero in the classical sense.
But as the previous post points out, Horatio certainly has a bit of the hero to him, foregoing even the thoughts of suicide at the end of the play in order to be alive to tell the story of the fall of Hamlet and the kingdom.
But if you go with the classical and sometimes somewhat negative definition of hero, I am going to actually pick Laertes. He is considered a skilled sword fighter (though Hamlet caught up to him in skill during his absence) and he is rash and emotional, things that classic heroes often were.
Laertes is an active and physical hero who follows his heart.
Horatio is an intellectual hero who follows his thoughts.
Laertes acts and cares not for thought... when asked how he would prove that he loved his father, he says that he would willingly cut his father's killer's throat in the church (and so burn in hell forever) But his old-style nobility and sense of honor allow him to become the pawn of the murderous and evil King Claudius. Laertes's sense of heroic honor leads him to the dark side. He beomes a willing murderer for a bad king.
Horatio is a gentle, philosophical friend to Hamlet. Ever true in his friendship and never tempted by wealth or power. He is the only person in the play who does not betray Hamlet in favour of the power and influence of Claudius.
The answer to your question is simple... Horatio is more heroic... he thinks and weighs the situations without greed or fear.