Heat a large skillet over medium heat and add the vegetable oil.
Add the chopped onion and cook until softened, about 3-4 minutes.
Stir in the minced garlic and cook for an additional minute until fragrant.
Add the ground beef to the skillet. Cook, breaking it apart with a spatula, until browned and cooked through, about 5-7 minutes.
Season the beef mixture with chili powder, cumin, salt, and pepper. Stir to combine and remove from heat.
Lay one flour tortilla in the skillet and sprinkle half with a mixture of both shredded cheeses.
Add a portion of the ground beef mixture on top of the cheese, then fold the tortilla over.
Cook until the tortilla is golden brown and crispy, about 2-3 minutes on each side. Repeat with the remaining tortillas.
Once all quesadillas are cooked, slice into wedges and serve with salsa and sour cream if desired.