In a large skillet, heat over medium-high. Add the ground beef, seasoning it with garlic powder, onion powder, smoked paprika, salt, and pepper. Cook for about 6-8 minutes, breaking up the beef and using a spatula to form it into flat patties.
Once the beef is nicely browned and fully cooked, remove it from the heat. Stir in the diced tomatoes, diced red onion, and half of the chopped cilantro.
Preheat a large skillet or griddle over medium heat. Place one tortilla on the hot skillet. On one half of the tortilla, sprinkle a generous layer of both cheddar and Monterey Jack cheeses. Add a hearty scoop of the beef mixture over the cheese, and top with a bit more cheese. Carefully fold the tortilla over the filling.
Cook the quesadilla for approximately 3-4 minutes on each side, or until it turns golden brown and crispy, and the cheese is perfectly melted.
Once the quesadilla is cooked, transfer it to a cutting board and cut into wedges. Return the skillet to the heat and repeat with the remaining tortillas and filling until all quesadillas are made.
Arrange the quesadilla wedges on a serving platter. Garnish with the sliced avocado, remaining cilantro, and serve alongside salsa and sour cream.