Add 2 Tbsp olive oil to a medium-sized dutch oven over medium heat. Add onions and shallots and cook until tender, 5-7 min. Add garlic and cook until fragrant, about 1-2 min.
Add 2 cans of diced tomatoes and mix well. Next add garlic powder, onion powder, oregano, cinnamon, red pepper flakes, salt and pepper, milk and olive oil. Stir well to combine and bring up to a low boil. Reduce heat to low, cover and let simmer for 15 min., stirring occasionally.
Turn off the heat. Use an immersion blender to puree the sauce to your liking. Leave it a little chunky for a fresher, rustic sauce, or blend it smooth for a classic gravy.
Once blended, add parmesan cheese, mix well. Taste. Add more salt or pepper if needed.