Boil 4 quarts of water. Salt well. Cook macaroni until al dente, drain, coat with olive oil, and set aside.
In a Dutch oven over medium-high, cook ground beef with a pinch of salt, breaking it down finely as it cooks. When the beef is no longer pink, add onion, garlic, and another pinch of salt. Cook, scraping up any ground beef fond, until onions are soft (5 minutes).
Add mushrooms and a pinch of salt and cook until they soften and lightly brown (5-8 mins), adding a bit of water to deglaze as mushrooms cook.
Once mushrooms have begun to brown, stir in tomato paste and flour. Cook briefly, then add beef stock, Worcestershire, beef bouillon, Dijon, and heavy cream. Simmer for 2-3 minutes.
Off heat, stir in sour cream. The sauce should be thick and creamy.
Fold pasta with sauce, mozzarella, and parmesan. Adjust with a little water if needed.
Transfer to a baking dish. Top with crumbled fried onions and more parmesan.
Bake at 425°F/220C for 20-25 minutes until golden and bubbly.