Melt 2 tablespoons butter in a large skillet over medium heat. Add the onions and mushrooms and cook until soft and lightly browned, about 10 minutes. Add garlic and cook for 1 more minute. Remove to a plate. Wipe out the skillet.
While the onions are cooking, prepare the pork chops. Season pork chops liberally with salt and pepper on both sides. Place ½ cup of the flour in a shallow dish. Working with 1 pork chop at a time, dredge lightly in flour, shaking off excess; transfer to a tray.
In the same skillet that you used for the onions and mushrooms, melt 2 more tablespoons of butter over medium heat. Add pork chops and cook until nicely browned on each side and the meat reaches an internal temperature of 140-145° F, about 7-10 minutes per side for thick-cut chops or about 2-3 minutes per side for thin chops. Remove pork chops to a plate and tent loosely with foil to keep warm.
Add remaining 3 tablespoons of butter to the same skillet. Melt the butter over low heat, and then sprinkle 3 tablespoons of flour over top. Cook and stir for 2 minutes. Gradually add the broth, whisking constantly, until the mixture is smooth. Bring to a gentle simmer and let the gravy bubble until it thickens, about 1-2 minutes. Whisk in the cream.
Return the onions and mushrooms to the skillet and stir to combine. Taste and season with salt and pepper. Spoon the gravy over the pork chops and serve. Garnish with chopped fresh herbs, if desired.