Guacamole, sour cream, salsa and lime wedges to serve
Heat a large skillet over medium high heat, and brown the beef, breaking it up with a spoon until it is all browned and crumbly, about 5 minutes. Turn it into a colander to drain, and carefully wipe out the skillet.
Return the skillet to medium heat and add the vegetable or olive oil. Add the onion, season with salt and pepper, and sauté for 3 minutes until the onion starts to soften. Add the tomato paste, spinach, garlic and chili powder and stir for another minute until the spinach is wilted and everything is well combined. Return the beef to the skillet and stir until everything is blended. Stir in the cilantro if using, turn the mixture into a bowl, and wash and dry the skillet (or grab a new skillet).
Combine the cheddar and havarti in a bowl. Place the skillet over medium heat and add a half teaspoon of butter. Place a tortilla in the pan. Sprinkle 2 tablespoons of the cheese mixture over half of the quesadilla, and distribute 1/8 of the beef mixture over the cheese. Top that with another 2 tablespoons of the shredded cheese. Flip the bare half of the tortilla over the filling, cover the pan, and sauté for about 2 minutes until the bottom is golden and the cheese has started to melt, then use a spatula to flip the half-moon quesadilla, and continue to cook, uncovered, until all of the cheese is melted and the underside is browned, 2 to 3 minutes.
Remove the quesadilla to a cutting board and let the quesadilla sit for a minute before you slice into 2 or 3 wedges. Repeat until all of the quesadillas are cooked. Serve with guacamole, salsa, sour cream and lime wedges.