Cut the beef across the grain into ¼-inch thick slices and season with salt and pepper to taste.
In a wide pan over medium-high heat, heat about 1 tablespoon oil. Add mushrooms and cook for about 30 seconds. Remove from pan and keep warm.
Add another tablespoon of oil to the pan if needed. Add beef in a single layer and sear for about 2 to 3 minutes per side or until lightly browned. Do not overcrowd pan, cook beef in batches as needed. Remove meat from the pan and keep warm.
In the pan, add the butter.
When melted, add onions and garlic and cook until softened.
Add flour and continue to cook, stirring regularly, for about 1 to 2 minutes.
Gradually add broth, whisking regularly to prevent lumps.
Add beef. Bring to a boil, skimming scum that floats on top.
Lower heat, cover, and simmer for 1 to 1 ½ hours or until meat is fork-tender. Add more broth or water in ½ cup increments if the liquid is getting too thick before the meat is fully tender.
Add all-purpose cream and stir to distribute. Season with salt and pepper to taste.
Add mushrooms. Continue to cook for another 1 to 2 minutes or until mushrooms are heated through. Serve hot.