Heat the olive oil in a large skillet over medium heat. Add the diced potatoes and cook, stirring occasionally, for about 10-12 minutes, or until the potatoes are golden brown and tender. You can cover the skillet to help the potatoes cook through faster.
Sauté the onions and garlic:
Once the potatoes are cooked, add the diced onion to the skillet and cook for another 2-3 minutes until softened. Add the minced garlic, cumin, chili powder (if using), salt, and pepper, and cook for another minute until fragrant.
Mash the potatoes:
Using a potato masher or the back of a spoon, mash the potatoes in the skillet slightly to create a creamy texture. Adjust the seasoning to taste.
Add cheese:
Remove the skillet from the heat and stir in the shredded cheese. The cheese will melt and make the potato mixture nice and creamy.
Assemble the burritos:
Warm the flour tortillas slightly in a dry skillet or microwave to make them more pliable. Spoon a generous amount of the cheesy potato mixture onto the center of each tortilla. Add a dollop of sour cream (optional) and salsa if desired.
Wrap the burritos:
Fold in the sides of the tortilla, then roll it up tightly from the bottom to form a burrito. Repeat with the remaining tortillas and filling.
Serve:
Serve your cheesy potato burritos warm with extra salsa, sour cream, or fresh cilantro if desired.