Place peeled and quartered potatoes in a large pot with cold water. Bring to a boil and cook until tender, about 15-20 minutes.
While potatoes cook, brown ground beef in a large skillet over medium-high heat, breaking into small pieces (8-10 minutes).
Add diced onion and garlic to beef; cook until onion is translucent (5 minutes).
Make a well in center of pan; add butter and flour, stirring to create a roux (2 minutes).
Gradually stir in beef broth and Worcestershire sauce.
Add thyme, salt, and pepper. Simmer until gravy thickens (5-7 minutes).
Drain cooked potatoes; return to pot.
Add butter and warm milk to potatoes; mash until smooth.
Season mashed potatoes with salt and pepper to taste.
Serve beef and gravy over mashed potatoes.