In a stockpot over medium heat, combine beef tongue and enough water to cover. Bring to a boil for about 10 to 15 minutes, skimming scum that may float on top. Drain tongue and rinse well. Discard liquid and wash pot.
Return tongue to pot and add enough water to cover. Add onions, garlic, bay leaves, peppercorns, and about 2 tablespoons of salt. Over medium heat, bring to a boil.
Lower heat, cover and simmer for about 3 to 4 hours or until tongue is cooked through and fork-tender. Add more water as needed during cooking to cover tongue.
Drain well, reserving 2 cups of the liquid. Strain and discard aromatics.
Allow tongue to slightly cool and refrigerate for about 1 to 2 hours or until completely cooled (this will make slicing the tongue easier). Peel the skin and cut meat diagonally into 1/2-inch slices.
In a bowl, combine cream of mushroom soup and reserved broth. Stir until well-blended and smooth.
In a wide pan over medium heat, melt butter. Add mushrooms and cook, stirring regularly, until lightly browned. Remove from pan and set aside.
Add onions and cook until softened.
Add beef tongue and cook, stirring regularly, for about 2 to 3 minutes or until lightly browned.
Add diluted mushroom soup and stir until completely dissolved and sauce is smooth.
Season with salt and pepper to taste. Add mushrooms.
Continue to cook for about 8 to 10 minutes or until sauce is reduced and thickened to desired consistency. Serve hot.