Make the salsa first: In a bowl, combine tomatoes, onion, chili, cilantro, lime juice, and salt. Stir, taste, and adjust salt and lime.
Chill while you cook the picadillo.
Brown the beef: Heat oil in a large skillet over medium-high. Add ground beef and break it up. Season with salt and pepper.
Cook until well browned with crispy bits, about 6–8 minutes. Drain excess fat if needed.
Sauté aromatics: Push the beef to the side. Add onion and bell pepper to the open space and cook 3 minutes.
Stir in garlic for 30 seconds until fragrant.
Add vegetables and spices: Stir in potato, carrot, cumin, oregano, and a pinch of cinnamon if using. Cook 2 minutes to toast the spices.
Build the sauce: Add diced tomatoes, tomato sauce, broth, bay leaf, vinegar, and sugar. Stir to combine.
Bring to a gentle simmer.
Simmer until tender: Reduce heat to medium-low. Cover and cook 15–20 minutes, stirring occasionally, until potatoes are tender and the mixture is saucy but not soupy.
Finish and balance: Stir in olives and raisins, if using. Simmer 2 more minutes.
Taste and adjust salt, pepper, and vinegar. You want a savory base with a bright, slightly tangy finish.
Serve: Spoon picadillo onto warm tortillas or rice. Top with a generous spoonful of the salsa.
Add avocado, a squeeze of lime, or crumbly cheese if you like.