Place the peeled and evenly cubed potatoes into a large pot. Cover them completely with cold water and add a generous pinch of salt. Starting with cold water helps the potatoes cook evenly from the inside out.
Bring the pot to a boil over high heat, then reduce the heat to a steady simmer. Cook the potatoes for 15 to 20 minutes, or until a fork slides easily into the center of a cube without resistance.
While the potatoes are cooking, place a large skillet over medium heat and add the olive oil. Let the oil warm for about 30 seconds so the onion cooks gently and does not burn.
Add the chopped onion to the skillet and cook for 5 to 7 minutes, stirring occasionally. The onion should become soft and translucent, not browned. This slow cooking builds the flavor base of the dish.
Add the minced garlic to the skillet and stir constantly for about 30 seconds, just until fragrant. Keep the heat moderate and avoid browning the garlic, which can make it bitter.
Add the ground beef to the skillet. Use a spoon or spatula to gently break it apart and spread it across the pan so it cooks evenly rather than clumping together.
Cook the beef for 8 to 10 minutes, stirring occasionally. Allow some browning to develop on the meat, as this adds depth of flavor. Continue cooking until no pink remains.
Season the beef with Italian seasoning, salt, and black pepper. Stir thoroughly so the seasoning is evenly distributed throughout the meat, then reduce the heat slightly.
Let the seasoned beef cook for an additional 3 to 5 minutes over lower heat. This step allows the flavors to blend together and gives the beef a cohesive, savory taste.
Once the potatoes are tender, drain them thoroughly and return them to the hot pot. Let them sit for about one minute so excess steam can escape, which prevents watery mashed potatoes.
Add the butter to the potatoes and mash until mostly smooth. The residual heat will melt the butter and help create a creamy texture.
Slowly pour in the warmed milk while mashing, adding a little at a time until the potatoes reach a smooth and creamy consistency. Season with salt and black pepper to taste.
Taste both the beef and the potatoes and adjust seasoning if needed. Serve the ground beef warm over the mashed potatoes, making sure everything is hot before serving.