Combine beef, sausage, and onion in a large pot over medium heat. Cook and stir until browned, 5 to 10 minutes. Stir in garlic. Meanwhile, heat olive oil in a large skillet. Add cabbage and cook until starting to wilt, 5 to 10 minutes. Stir cabbage into the meat mixture and add butter. Simmer until cabbage is tender, about 15 minutes. While cabbage is simmering, bring a large pot of salted water to a boil. Add spaghetti; cook, stirring occasionally, until tender yet firm to the bite, about 12 minutes. Drain pasta and return to the pot. Stir in meat and cabbage mixture. Mix in soy sauce until combined.