Place potatoes in a large pot of salted water and bring to a boil; simmer for 15-20 minutes until fork-tender.
Pat steaks dry with paper towels and season generously with salt and pepper on all sides.
Heat oil in a large cast-iron skillet over high heat until smoking; sear steaks for 3-4 minutes per side for medium-rare.
Reduce heat to medium, add 3 tablespoons butter, garlic, and rosemary to the skillet; baste steaks for 2 minutes then remove to a plate to rest.
Drain potatoes, return to the warm pot, and mash with 4 tablespoons butter and heavy cream until smooth.
In the same skillet used for steaks, sauté mushrooms and shallots over medium-high heat until browned, about 5 minutes.
Whisk in flour and cook for 1 minute; gradually whisk in beef stock and thyme, simmering until the gravy thickens.
Slice the steaks against the grain and serve over mashed potatoes, topping with the mushroom gravy.