In a large pot, heat olive oil over medium heat. Sauté onion until translucent.
Add garlic and tomato paste; stir for 1–2 minutes to develop flavor.
Pour in water or stock, then add bay leaf and bring to a gentle simmer.
Add the fish (whole or fillets). If using whole fish, simmer for 10–15 minutes, then remove and debone. Return the flesh to the soup.
Add the rice and cook uncovered until tender (about 12–15 minutes).
Season with salt, pepper, and lemon juice to taste.
Garnish with chopped parsley and serve hot with crusty Maltese bread.