Heat the olive oil in a large skillet or tagine over medium heat. Add the sliced onion and cook for 5 minutes until softened.
Stir in the minced garlic, cumin, paprika, turmeric, salt, and pepper. Cook for 1 minute until fragrant.
Add the chopped tomatoes and stir to combine. Let the mixture simmer for 5 minutes until the tomatoes begin to break down.
Layer the potato slices over the tomato mixture in an even layer. Pour in 1/2 cup water, cover, and simmer for 15 minutes until the potatoes are almost tender.
Place the fish pieces on top of the potatoes. Scatter the green olives over everything. Cover and cook for 8 to 10 minutes until the fish flakes easily.
Remove from heat and sprinkle with chopped cilantro. Serve with lemon wedges on the side.