Preheat oven to 350 degrees. Grease a large baking sheet with cooking oil or line it with parchment or tinfoil.
In a small skillet, heat the oil and sauté the onions for about 5 minutes, until translucent. Stir in garlic and cook about 30 seconds, just until fragrant. Remove quickly from heat and let cool.
In a large bowl, put the beef and pork in breaking up with your hands. Whisk together the eggs, cheddar and parmesan cheese, and add to meat mixture. Add ketchup, dijon, Worcestershire, hot sauce, salt and pepper. Add the onion mixture and gently mix it all together with a large spoon or your hands. Do not overwork it, just mix until combined. Add parsley if using and mix in.
Dump meat mixture onto baking sheet and form a large loaf, like a thick oval bread loaf shape, pressing meat together to hold. If using the bacon, wrap the bacon slices over the top, tucking the ends under the loaf. Rest in the refrigerator for at least an hour (but can rest all day) covered in plastic wrap.
Remove plastic wrap and bake for 50-60 minutes, until well browned and is at least 160 degrees in the middle. Let rest for 15 minutes before serving.
Enjoy!