A Bastion + a Reinhardt will melt through a Reinhardt shield, while giving him some longevity against Widowmakers and Pharahs. The rest of the team needs to stay near to take care of these pesky Tracers and Reapers that like to flank behind. A Bastion is most effective on the defensive, or on the cart as an offensive strategy.
To kill the Reinhardts, you can use Symmetra to deal damage through their shields. Since Reinhardts are slow when moving with their shield up, they can't really dodge it.
You can use McCree to flashbang a Reinhardt in the face. You need to bypass the shield, then DPS him down while he is stunned.
Use a Pharah to get above or behind the Reinhardts. Then apply a few rockets to the face.
Use a Hanzo and use scatter arrow and a wild dragon to kill the relatively immobile Reinhardts.
Use a Lúcio and simply blast them into the pit.
Use D'va's ability to pump out a continuous stream of damage without needing a reload to pressure the shield.
Use Junkrat's remote mine by throwing it through the shield, then detonating it to juggle one or more Reinhardts out of position. Then punish them for it.
The thing you have to keep in mind is that Reinhardt's main focus is to provide a directional shield. He can swing his hammer at close-range heroes, blast someone in the distance once in a while and charge at the enemy. His DPS is low, and so is his ability to move.
Use abilities that abuse this fact. Mobile heroes can flank. A Reinhardt cannot defend himself from attacks from two different angles. Heavy damage heroes such as Bastion can break anything if it comes close.