In a large skillet over medium heat, brown the ground beef and chopped onion until the beef is fully cooked and the onion is translucent, about 5-7 minutes. Drain any excess fat.
Stir in the taco seasoning and water. Bring to a simmer and cook for about 5 minutes, or until the mixture thickens slightly.
Remove the skillet from heat and stir in the cheddar and Monterey Jack cheeses until melted and well combined.
Preheat your oven to 350°F (175°C).
Lay out the flour tortillas on a clean surface. Spoon an equal amount of the beef and cheese mixture onto the center of each tortilla. Roll them up tightly and place seam-side down in a greased baking dish.
Pour salsa evenly over the top of the rolled tortillas.
Bake in the preheated oven for 15-20 minutes, or until heated through and the tortillas are slightly crispy.
Remove from the oven and let cool for a few minutes. Serve with sour cream and sprinkle with chopped cilantro if desired.