Heat oil in a large pot over medium heat. Add onion and cook for 3 to 4 minutes until softened.
Add garlic and ginger, then cook for 30 seconds until fragrant.
Stir in curry powder, cumin, coriander, smoked paprika, turmeric, and cayenne. Cook for 1 minute to toast the spices.
Add potatoes and stir until they are coated in the spice mixture.
Pour in crushed tomatoes, vegetable broth, chickpeas, salt, and black pepper. Stir well.
Bring the curry to a simmer, cover, and cook for 20 to 25 minutes until the potatoes are tender and the sauce has thickened.
Lightly mash a few potato pieces into the sauce to make it creamier.
Stir in green onions and fresh cilantro. Adjust seasoning if needed.
Serve hot over basmati rice with naan, lime wedges, or yogurt on the side.