In a large saucepan, drizzle oil over medium heat. Once heated, add the onions, carrots, and celery. Cook, stirring occasionally, until beginning to soften. Stir in the minced garlic and cook until just fragrant, 30 seconds to 1 minute.
Add the beef and cook, stirring to break apart with a spoon, until browned. Stir in the tomato paste.
Pour in the red wine, scraping the bottom of the pan to deglaze and remove any browned bits. Allow to simmer for about 5 minutes to reduce slightly, then add the beef stock, bay leaf, paprika, and thyme.
Bring to a boil, then reduce to a simmer and cover, stirring occasionally, until the vegetables are tender and most of the liquid has reduced, about 30 minutes. Season to taste with salt and pepper.
While the sauce is simmering, bring a large pot of salted water to a boil. Add the macaroni when the sauce is almost done and cook until al dente, just tender. Drain and divide among serving bowls.
Top the tender macaroni with the meat sauce and garnish with Gruyère or Parmesan cheese. Serve immediately with applesauce.