Heat a tablespoon of oil in a large skillet over medium heat. Add the onion, garlic, tomatoes, red pepper, green olives, and tomato paste. Season with cumin, paprika, salt, and black pepper. Cook for about 10 minutes, stirring occasionally, until the vegetables are softened and the flavours are well combined.
Pat the fish fillets dry with paper towels. In a bowl, whisk together the flour, cumin, coriander, chili powder, paprika, and black pepper. Season the fish fillets with salt and coat each fillet in the spice rub, ensuring they are evenly coated on both sides.
Heat the olive oil in another large skillet over medium-high heat. Once hot, carefully add the fish fillets and cook for 3-4 minutes per side, or until golden brown and cooked through (cooking time may vary depending on the thickness of the fillets).
Place the pan-seared fish fillets into the tomato and olive sauce. Serve immediately, garnished with fresh celery if desired.