In a heavy-bottomed pan or dutch oven, heat olive oil and butter. Stir in the onion, cover, and cook over medium-low heat for 5-10 minutes until the onion turns translucent. Stir occasionally.
Add celery and carrot, cover, and cook for an additional 5-10 minutes until vegetables are soft and slightly browned. Stir in garlic, if using, and cook for an extra minute.
Add ground beef, breaking it into small pieces with a wooden spoon. Increase heat to medium-high and cook for about 10 minutes until the meat loses its red color.
Stir in tomato paste, cooking until its color deepens to a rich, brick red, about another minute.
Pour in white wine (3/4 to 1 cup) and water (3/4 to 1 cup OR just under 2 cups if you are not using wine). Season with salt and pepper, then reduce heat to low. Cover and simmer for 1½ hours, adding ½ cup water if the sauce dries.
Once done, boil 1 pound of gnocchi until they float (2-4 minutes), drain, and toss with bolognese sauce. Top with freshly grated Parmigiano Reggiano and serve. Enjoy!