Heat olive oil in a large skillet over medium heat. Add the diced onion and cook for about 3 minutes, until it starts to soften.
Add the green bell pepper and cook for another 2 minutes, stirring occasionally.
Stir in the minced garlic and cook for 1 more minute, until fragrant.
Add ground beef to the skillet and cook until browned, breaking it apart as it cooks. Drain any excess fat.
Season the beef with taco seasoning, salt, and pepper. Stir well.
Pour in the crushed tomatoes and enchilada sauce. Simmer the mixture over low heat for 10 minutes, stirring occasionally. Set the meat sauce aside.
Melt butter in a saucepan over medium heat. Add the minced garlic and cook for about 1 minute.
Sprinkle in the flour, whisking constantly for about 1 minute to form a roux.
Slowly pour in the milk while whisking, making sure the mixture is smooth. Cook for 3–4 minutes until thickened.
Stir in the shredded Colby Jack cheese until melted. Season with salt and pepper.
Combine the cooked spaghetti with the cheese sauce in a large bowl or the sauce pan and toss until coated evenly.
Preheat the oven to 375°F and grease a 9x13-inch casserole dish. Spread the creamy spaghetti mixture evenly into the dish.
Spoon the meat sauce over the top, spreading it evenly.
Sprinkle the shredded Colby Jack cheese over the meat sauce.
Bake in the preheated oven for 20–25 minutes, or until the cheese is melted and bubbly.
Remove from the oven, garnish with freshly chopped cilantro, and serve. Enjoy!