If desired, brown the ground beef in a skillet over medium heat until fully cooked. Drain any excess fat. Add the chopped onion and minced garlic, cooking until softened, about 3-4 minutes.
Add the taco seasoning to the meat mixture and stir well to combine.
In the crockpot, combine the diced tomatoes, black beans, tomato sauce, and beef broth.
Break the spaghetti in half and add it to the crockpot, pushing it down into the liquid. It's okay if it sticks out a bit on top.
Add the cooked meat mixture on top of the spaghetti without stirring.
Cover and cook on low for 4 hours or high for 2 hours, until the spaghetti is cooked through and tender.
About 10 minutes before serving, sprinkle the shredded cheese on top of the spaghetti. Cover and let it melt.
Once done, use a fork to gently mix everything together. Season with salt and pepper to taste and garnish with fresh cilantro if desired.