Melt butter in a large Dutch oven or pot over medium-high. Add onions and cook, stirring occasionally, until lightly browned, 10-12 minutes.
Add carrots and garlic and stir occasionally until softened, 7-8 minutes.
Add beef and pork and cook, stirring and breaking up with a spoon, until no longer pink and just cooked through, 8 to 10 minutes.
Add tomato puree, tomato paste, and water. Bring to a boil, then turn heat to low and cook for one hour.
Break uncooked pasta in half and add to dutch oven, stirring until covered with sauce. Cook for 8-10 minutes until just barely al dente, still slightly crunchy.
Remove pot from heat and let stand for 10-15 minutes to cool slightly before mixing in greek yogurt.