The idea here is to help you think when a hero is well positioned to take, you should pick a hero depending on the map, your team's composition and the enemies composition. Additionally how good you are with the hero and how good it is in general. Those last points are rather subjective though so this guide will not focus on 'tier lists' much but more on what the best spots are for a hero.
First of some general notes about what composition you should have.
The game has 4 roles (warrior, assassin, support and specialist) but these are often not very useful so I divided them slightly differently by role they perform in the team. The division of roles I chose is seen below, of course those divisions are arbitrary and you'll always have heroes that can be argued to sit in one category or the other.
Many compositions are possible but the general solid composition that you see played most in almost every high level game is the following:
1 tank
1 full support
1 ranged damage
1 tank/off-tank/bruiser/off-support
1 other (can be anything except a second full support)
Basically it comes down to having at least 2 frontliners(unless off-support), 1 of them a tank with the other more damage/cc focussed and then a healer and ranged damage to help out with the last spot being anything. Naturally you can find exceptions to this composition in pro play like some very map specific murky composition or the old-fashioned 3 ranged heroes composition but I really recommend to stick to the above mostly (which is already a wide range of compositions).
Generally I recommend in hero league to draft such that you stay open towards this composition as well as possible, this means it's helpful to fill out the (near) mandatory roles like a tank and full support in time so the last player isn't forced into a narrow selection. Afterall this player may be terrible at this role, refuse or not even realize he has to draft it so check what he intends to do before you pick.
One very common 'mistake' in my opinion in hero league is to overdraft ranged damage. The traditional 'carry' role from other MOBA's is extremely popular and usually overdrafted and prioritized too highly. In the recent Blizzon event for example there was almost no game where 3 ranged damage heroes were drafted, even 2 of them didn't happen too much. Don't draft this role too much I recommend, it really limits your choices. Taking the third pigeon holes your composition into 3 ranged dps, 1 tank, 1 healer which is questionable already and even taking the second makes some teams hardly work anymore (like abathur for example).
Generally in hero league the consensus seems to be 1 tank, 1 support and the rest can be anything, often therefore I recommend picking an off-support or off-tank/bruiser early so the composition ends up 'ideal' more often.
Besides composition there are a few other qualities you want to keep in check and often want to balance on your team:
- waveclear. Getting xp and keeping lanes from being pushed is always helpful though it depends on the map, trilane maps need more than twolane for example and some objectives can be dealt with by waveclear (tomb of the spider queen for example). Note that full supports are all mediocre at best at this so you want to make sure to get enough with the other roles.
- solo heroes. Almost no matter the map you need 1 or 2 heroes that can solo well to make sure to keep presence in every lane early. Later in the game there are often situations where you want 1 hero to split off to quickly depush a lane and get some experience. These heroes ideally have some sort of escape and decent waveclear.
- ganking/initiation. Having some form of ganking or initation/chase tools within your team is great, this can punish heroes for straying off alone where they might otherwise retreat too easily. A common mistake however is to overdraft this, a team with only ganking heroes tends to lack in waveclear or solo heroes.
- stun/cc. Closely related to the previous point, some sort of stun is often mandatory especially as there are many channeled abilities you want to interrupt and you want to be able to punish heroes for getting too deep.
- mercing. This is very map dependant but it's often great to have a hero that can merc well, bruisers usually excel at this.
Alright on to the heroes..
Tanks
Warrior heroes that can function as front man, typically high surviveability some form of CC and low damage.
Leoric
Leo excels at waveclear and soaking. Probably the best solo hero in the game as he has a great escape, dominates lanes against most and even if he dies it's not as bad. Especially great when the objective involves waveclearing like on Infernal shrines and Tomb of the spider queen. Pretty much has a mandatory globe stacking talent at level 1 so globe stacking and rotating lanes helps him immensely too. Great against some other high hp warriors like Johanna, Arthas and Stitches that are easy drain hope targets.
Heroes that can bully him in a solo lane like Sonya, Valla etc. are good against him. Lacks CC so you usually want to pair him with another warrior that provides this.
Johanna
A bit between Leo and Muradin, good waveclear but not as good a solo laner as Leo. More CC and tankier though but won't bully a lane as hard. A soft counter to some autoattack reliant compositions especially the ranged ones she can easily hit in the cone and very good against CC heavy compositions.
Muradin
Most tanky hero in the game and very good CC but lacks waveclear. The best tank for solo tanking but make sure you have others to cover waveclear for you. Early on often best as part of a ganking squad. Best positioned as counter to bruisers especially Illidan, Artanis and Butcher as the Thunderclap build really hurts melee heroes that rely on autoattacks plus his stuns can destroy a bruiser.
Stitches
Quite tanky and mediocre waveclear but surpassed in those qualities by Johanna and Leoric so you really want him for the hook. Great counter against Sgt. Hammer and best in situations where you can pick off vulnerable heroes with a hook and stun/root combination.
Diablo
The ganking tank. Mediocre surviveability as he has no escape or health skill but his charge and overpower combination is a really strong ganking tool. Great in combination with tyrande for example as the stun combo is strong and she helps diablo survive as off-support. Draft him to use a spearhead of a roaming squad on a map with lots of rotations like Tomb of the spider queen or dragon shire. Heroes that prevent ganking like tassadar are good against this.
Chen
Great sustain and tankyness IF he gets to drink whenever he wants. Best when they almost completely lack interrupts for your drinking and you don't need CC from your tank. Also a pretty strong symbiote target for abathur because he spends a long time in the middle of opponents.
E.T.C
Tanky and good CC, a bit similar to muradin in that regard. He's an autoattack booster so good with heroes that rely on that like kharazim, raynor, sgt.hammer, illidan etc. Best on rotation heavy maps like tomb of the spider queen because his best build is stacking globes with prog rock and then healing quite a bit with groupies. Finally mosh pit is a must pick for him at the moment so take him when the other team lacks interrupts for this as only ranged stuns reliably interrupt it.
Off-tanks
Warriors that are not as tanky so usually are better when drafted next to one of the tank roles. Often better CC, mobility or damage though. Usually they compete for role with bruisers but they function differently although they often come flanking into a fight too.
Anub'arak
Heavy CC hero with pretty good damage and high mobility but quite squishy. He depends especially on his beetles, very good against heroes relying on skillshots that hit the first target. However pretty weak against abundance of AoE especially Kael'thas with chainbomb hurts him really bad with the beetles and Leoric clears his beatles very easily. Cocoon is a niche ultimate that counters channeled heroics like Kerrigan's maelstrom, Malfurion's tranquility and Tychus' Odin really well because the channel continues while in cocoon but the effect is gone so it hardcounters those ultimates.
Tyrael
Similar to anub'arak in high mobility and decent damage but trades stuns for ally buffs. Sanctification is a pretty good wombo combo counter but needs good coordination. His holy ground level 16 talent is very strong on maps that have frequent boss quarrels and narrow paths like cursed hollow. His shield is quite good against AoE, especially a great counter to the Azmodan stacking build.
Rexxar
Bit of an odd one, quite a good lane bully with Misha but Rexxar himself is quite susceptible to diving heroes and stealth. He is pretty map specific though as misha is superb at holding capture points since she can do that while rexxar sits safely further back and even soakes a lane in the meantime making him best at sky temple and dragon shire. Also potential for really good mercing at blackhearts bay if you don't want another good merc hero there.
Bruisers
Warriors or Melee assassins that typically have high damage and high sustain but are dependant on autoattacking for that with some form of bonus on hitting. Usually good at doing Merc camps but vulnerable to heavy CC and being bursted down.
Arthas
Least dependant of the bruisers on autoattacks and even has relentless so better against CC. Pretty good waveclear and mediocre mercing but especially good as gank hero with one of the strongest engages early on. Sustain is his key through constant engaging (like any bruiser) but along with sonya the only one that isn't blown up by burst and CC so easily. His legion ultimate is a liability against chain bomb and sindragosa is pretty map specific so beware of that when you pick him.
Sonya
Bursty bruiser whose damage is more spellbased than autoattack, probably just the straight up best bruiser in any situation at the moment. Doesn't really benefit as well from autoattack boosts as other bruisers though but then again isn't really countered so hard by muradin and CC since the wrath ult gives him a form of Relentless. Especially good when the objective involves killing mercs like garden of terror and haunted mines. Also a great merc hero for blackheart's bay. Can have some problems sticking to heroes and is countered most by kiting or bursting, jaina and muradin especially good against him.
Artanis
Bruiser who excels in long fights where he can proc his shield numerous times but very reliant on autoattacking for that while he has no sticking power before 16. Best when you have easy targets to hit and they lack burst and heavy cc for you. Terrible at mercing though but fairly decent waveclear and especially nice for picking up stuff like coins at Tomb. His ultimates are both quite strong but niche so pick him when one is well situated. Purifier beam does very good damage but you need targets vulnerable to it and help from teammates to make sure it hits, for example entomb + purifier beam or devouring maw + root + beam are really good because it can hit multiple targets. Suppression pulse can also be really good but the opposing team needs to be very autoattack based with heroes like monk, raynor, illidan etc.
Illidan
The most autoattack reliant bruiser as he has both lifeleach and cooldown reductions on hit. But very vulnerable to spellbased burst although it can be hard to hit him. Heroes like uther, sonya and muradin counter him really well but he get's boosted quite well by raynor, abathur or ETC. Great merc hero as he does them quick with minimal damage taken making him excellent on blackheart bay. His sticking power makes it so you can't run from him but you also need teammates that can keep up, dont pair him with stuff like sgt. hammer for example.
Butcher
Incredible damage and quite the burst but for sustain completely reliant on single target ability of 5 seconds so you NEED good targets to go on. If their heroes have escapes, ice block etc. you are screwed so look for heroes like zagara on their team. Also you want uther on your team or a lack of CC on theirs or you will be kited to death. Pretty good with abathur too and mercs fairly well (quite fast but takes more damage).
Thrall
Bruiser with good poke ability but mana problems unlike other bruisers which makes him more a laner/ganker than a merc hero. Can solo a lane pretty well though but at the moment pretty much surpassed by other heroes like arthas and sonya.
Kerrigan
The combo gank hero. Excels at early teamfights and ganking especially so you really want a map like Tomb or haunted mines for her. Especially good if they have a cluttered line up to hit those combo's on multiple heroes. The most of any bruisers quite weak against but very strong with Uther. Maelstrom is the ult choice pretty much but can be countered quite well by polymorph or Cocoon.
Stealth Assassins
These heroes function in poking and jabbing sneakily softening up heroes or picking them off whereever possible. This is a separate category because they have a bit of a unique role being very good at poking damage but having very little waveclear or straight fighting potential.
Zeratul
Former all star only really great against vulnerable heroes that rely on minimap awareness to stay safe usually like Zagara,Valla, TLV and Abathur. Countered a bit by Tassadar obviously and by teams that have great heroes to go alone like Leoric (as they are the typical target). VP is not as great as it was but it's still a great tool, harder to use to just VP off a part of the team while killing the rest but still quite good for setting up a wombo combo. One of the few reliable ways to get off a gazlowe combo, then again if people pick gazlowe they often ignore teamplay and go the other ult...
Nova
Pretty much the same as Zeratul but worse I find. Nova does get in a bit safer against a hero like Zagara though whereas zeratul pretty much needs to use blink. Higher sudden burst so she hates harder on TLV and counters Murky fairly well actually.
Full Support
Supports that function to heal your team, you almost always want exactly 1 of these just to make sure your heroes have sustain.
Uther
The counter and support for bruisers really and at the moment all around good. But drafting this is very important when heroes like Illidan, Kerrigan or Butcher are involved. Mana reliant so ideally taken on stacking maps like tomb, dragon shire and blackheart.
Kharazim
Most healing out of any support but you need your team to ball up a bit to benefit so you really want double melee or even triple melee next to him. Autoattack boosts benefit him quite well like raynor and ETC. Very good on maps where the objective involves hitting some sort of merc like Sky temple because he gains a ton of hp for free on those. Muradin counters him really well.
Brightwing
Split soaking support, great for large maps. Also the only reliable ranged interrupt of all the full supports so a good pick if you really must counter a kerrigan or ETC. With constant massive AoE healing quite good too with multiple body heroes like TLV and Rexxar. Lacks a bit of burst heal though.
Rehgar
Pretty good healing numbers but adds quite little besides that. Good when you need clutch heal but can't get Uther and Kharazim doesn't fit your comp. Lightning shield works quite well on sticky warriors like Johanna and Arthas. I feel there is almost always a support that does what he does but better nowadays.
Malfurion
King of sustain heal, you want to outlast them in fights with this. Many compositions revolve around burst though so beware. But if they have a lot of damage over time like Nazeebo and spread out damage Malf is really good, typically you want something like double tank as the frontline though. Good on maps where you can go 4-1 or 3-1-1 and push hard and with mana hungry heroes like Kael (bonus synergy with mana addict) or Jaina.
Li li
Great in more unorganized games with long fights as her damage output and healing is realyl good, it's just random all over the place. The best full support at solo laning too which often makes her a nice pick for hero league where waveclear and laning heroes are underdrafted quite often. Her ult needs to channel so beware of reliable interrupt heroes like Sylvanas, Tyrael, Anub'arak etc.
Lt. Morales
She has awesome single target heal, but two weaknesses: she's vulnerable herself and her mana is troublesome. So play her when the opponents lack tools to dive past your frontline, you almost definately want a double or triple melee frontline to peel for you. Her mana issues prevent her from being good for just healing up heroes in between fights so ideally you have some heroes in a team that have good sustain, just need you to help vs burst in fights making her ideal with a bruiser like sonya or arthas. Illidan not so much because it's too hard to stick close enough for healing range.
Also in pub games medivac is awful, you can't cancel it and there are frequently deadly miscommunications. In other words only draft her when you have a great target for stim drone, raynor or tychus Odin are great ones.
Off-supports
Supports that are just short of healing enough by themselves typically so they tend to be drafted in addition to a normal support, with eachother or as solo support in some more unique combinations.
Tassadar
Great vision control makes him the anti-gank hero. Use to counter heavy ganking compositions or heroes like nova and zeratul. Especially as he is one of the best solo heroes in the game too. Additionally very useful to keep a vulnerable bruiser going. You really want him for one of these reasons as otherwise he adds a bit little, if they lack ganking power and you don't have priority targets to shield you are probably better off just getting something like valla.
Tyrande
Great at poking with 1, potentially 2, very long range spells. Very good for controlling objectives with channeling for that reason like blackheart's middle, the delivery points on tomb, cursed hollow and dragon shire. The stun is hard to hit though so she really shines most when combined with a long stun/root like muradin, diablo or arthas to get easy hits. Her stun is also quite a good interrupt for ETCs and Nazeebo's ult.
Ranged damage
A large category of heroes that function as ranged damage dealer for your composition, typically good at laning and waveclearing but need some form of protection in teamfights to stay safe.
Jaina
Very good burst and slow. At the moment never a reason not to take her as your ranged damage. She also presents the best clone option for abathur. The slow is especially useful to kite heroes like sonya and artanis. Her wide range of builds make her able to fit so many roles that she doesn't really have much of a counter at the moment.
Kael'thas
His power is pretty much defined by the chain bomb build. Very good on maps where a lot of fighting happens with minions around like on Tomb and Infernal shrines. Excellent against heroes with spawned minions as Anub'arak.
Also one of the few ranged damage heroes that adds a reliable stun so very helpful to get that stun if your frontliners dont really have it. Quite vulnerable early game though especially if you are forced to split off and since your powerspike comes late a snowballing map like haunted mines is much worse for you.
Valla
Reliable damage and pretty evasive, bit of a mix between spell damage and autoattacking. The mobility is very good if you have a mobile team that chases a lot like what happens with illidan often. The damage is quite spread out though so good aoe heal tends to nullify your efforts a lot even though you'll rack up high damage numbers. Her ability to chase well makes her defend against a garden terror really well. The multishot build also gives her great poke as she has huge range and a small cooldown which is very good for denying channels on cursed hollow.
Raynor
Autoattack beast but it takes a while for him to get going. The seasoned marksman build is his go to but you really want a map that gives you oppurtunity to stack and that goes long so ideally not an objective that forces you away from lane. Without any escape going deep is also very dangerous so usually you'll just hit the tank which you can melt, but imposing presence really hurts you and for many top tanks like Leoric that is a good talent that just becomes great when you took raynor so do consider their front lineup.
Also raynor has terrible waveclear so draft him with care.
Finally he works best with other heroes that benefit from attack speed, monk sgt. hammer, tychus with odin and illidan specifically.
Tychus
The ganking assassin, he's excellent at chasing. And with the majority of his damage being unable to miss and spell based he's a good counter to Illidan. In general he's best against bruisers as he has short range but his abilities let him kite bruisers really well. With Odin he can also become an autoattack beast comboing well with Morales stim drone. Overall he tends to lack a bit of power at moment to really warrant a choice.
Azmodan
Azmodan is the Q stack build at the moment. A tricky thing to do in soloQ but it can be done, you need a map with lanes closeby like dragon shire and tomb. And you need 2 heroes to help you out ideally in a rotation, something like leoric/johanna and kael/valla/jaina for example. But if you get this all arranged it's quite a potent build. There are plenty means for counterplay though, a strong ganking squad that can deny the rotations for azmodan's setup is the best way probably. Tyrael or Uther to heal the wave just before the globe hits is another. Alternatively when Azmodan does get his stacks he just tends to dunk for a lot of poking damage, malfurion can often outheal this quite easily.
The next set of heroes are in between ranged damage and specialist by being better at xp soaking/pushing/laning but having a little less teamfight/ganking power.
Falstad
Falstad is probably best at the moment as part of a mighty gust combo. Combine falstad with a hero that roots a hero like Leoric's Entomb or Butcher's Lamb to the slaughter and you can isolate a hero really well. Best maps for falstad are large ones where he can leverage his ability to jump around quickly, especially dragon shire and blackhearts bay as you often suddenly want to go somewhere. His W is tricky though, it deals good damage but it's quite hard to stay in range of most targets without getting to close, sonya is especially a great target for it.
Sylvanas
Sylvanas excels as a sieging tool. Objectives which involve a summon that pushes like Haunted mines and Tomb. Overall she is just solid though if you need a good laner and waveclear on your ranged damage, an excellent solo hero. Also she is one of few ranged heroes that actually get's a great interrupt for some channeled abilities. She's forced to attack the tank though mostly with her Q as it can't be targeted too well so tanks like muradin or johanna that tank really well are good against her.
Zagara
The queen of the solo lane. Blackhearts bay and Dragon shire and Battlefield of eternity are her best maps as these typically have 4-1 splits where she dominates the solo lane against pretty much everyone. And with her vision she can help control the objective really well. Her Maw combo is a great setup for many wombo combo's, also the only possible interruption (along VP) for Unstoppable heroics like Leorics march and Diablo's lightning breath. Nova and Zeratul are great for punishing her at pushing her lane too hard and should keep her honest. Tyrael and Uther are both great counters to wombo combo's she sets up.
Nazeebo
Superb poker. He deals a lot of damage but it's mostly over time but still very good against teams that have trouble sustaining. Zombie wall is quite unique as CC, for example it's excellent against Johanna as the only spell that reliably 'roots' her but it's downright awful against heroes like sonya, illidan or leoric. Additionally Nazeebo is very map dependant, you really want to lane a lot. You build stacks and gain resources by laning so you want to avoid maps with an objective that force you to leave lane making his best maps dragon shire and tomb. Your ravenous spirit is countered pretty handily by some heroes but it's hardly much better than gargantuan anyway so often not a huge deal for drafting.
Sgt. Hammer
Hammer is another pure autoattack hero with the obvious synergies with raynor, ETC and morales. His sieging power can be pretty good but it's a bit hard to use in the current metagame, he's best when the opponents lack any damage spells to abuse his immobility but heroes like jaina and kael excel against sitting ducks as Hammer. Also his slow speed is really detrimental if you need to traverse the map as team. Overall he works best against heroes like valla and sylvanas that can't really threaten him when he's sieged. Additionally heroes on your team that boost AA and can babysit him like morales and tassadar really help him out. The key is to have a composition that pokes and let's enemy come to you, you don't want Hammer in a composition that chases/dives because he can't keep up so don't match him with illidan for example.
His best map is definately battlefield of eternity, the pockets to siege up are practically made for him and he can down the immortal really fast, and he's fairly good in a 4-1 split with the right team to protect him.
Specialists
These heroes have less addition to teamfights but they excel in soaking xp and keeping lanes pushed. The goal with these heroes typically is to gain an advantage through splitpushing in xp or map presence so you can still get ahead while giving up the objective or forcing the opponents to defend so your team can get the objective.
Abathur
Abathur can get an article on it's own basically. Basically he has two options, a symbiote build where he hats Illidan (or butcher/artanis possibly). Alternatively he plays a locust/mine build and you use a good clone target to help in teamfights. A good clone target is a hero that works well without talents, is hard to ignore while it's alive and has a good trait that works for the clone. Best clone targets are Jaina, Kerrigan and Arthas.Others like valla and raynor are fine too but you don't want to have only heroes like Leoric, Kael, Uther and Muradin as options for example.
Teams that can disengage easily like Falstad with gust are pretty good against abathur because the clone is best countered by waiting it out often. Heroes that can punish abathur for soaking too far in lane like zeratul and nova are good too. Also the best way to fight against abathur is usually not allowing him to free soak a lane early while you fight for objective, thus heroes that can just stay in lane and push that really hard like sylvanas are good against abathur, especially as they help immensely against his split pushing too.
Best maps for abathur are large ones where he can soak safely during the objective, ideally if the objective is not too strong so you can win by (split)pushing traditionally making cursed hollow his best map by far but sky temple, battlefield of eternity and infernal shrines fine too.
The Lost Vikings
Outsoaking your opponent is the name of the game with them. 4-2-1 or even 5-1-1 is their strongest point playing on Garden of terror specifically but also cursed hollow and sky temple. Drafting a strong 4 man pushing team next to them is the way to go, sylvanas especially is ideal to push with this team as usually you'll be defended by 3 players most times. Also AoE buff/heal effects are great here because they excel in the early 4 man push and benefit from the 7 bodies your team has (or 8 with rexxar) making Tyrael, brightwing and monk great with them. Against vikings you typically want to defend 3-1-1 with a good 3 man team that can defend. The solo laners should ideally push very hard like zagara for example. Alternatively they clear the lane quickly and can then help out to defend the 4 man push. Heroes that can snipe the vikings quickly like Nova and Zeratul are also good, but make sure to only get these if you can afford to roam with them, if the 4 man lane pushes you hard because you took them it won't work out well.
Murky
Murky wants prolonged fights over a position so he can come back continuously. You have to know the position in advance too so the egg can be set up closely. Cursed hollow and Dragon shire are his best maps because of that especially as normally pushing to win is common there. He's also fine at infernal shrines and sky temple. He wants to be in composition that work at prolonged fights, dont match him with diving heroes that need to go all in because you can't win quick fights. To counter him matching him in a lane with a ranged hero with a quick attack like valla or tychus is great because the fish is most of his laning power. Also you really need cleanse against murky, supports that can this with little oppurtunity cost like Morales and Uther are therefore great against murky. Stuns combined with some burst also help really well as it quickly dispatches him, often before he can bubble.
Gazlowe
Gazlow is at his best with prolonged fights for position where you need to fight neutrals, specifically infernal shrines and sky temple. Something to help set up the gravitron combo like zeratul really helps too. Overall it's way too easy to dodge his spells though and heroes that dive on him easily kill him, because he is so weak it's difficult to gauge when he actually works well.