Heat a small nonstick skillet over medium-high heat. Coat pan with cooking spray. Add lemon, 1 tablespoon water, 1/2 teaspoon oil, and sugar; cook 3 minutes or until water evaporates and mixture just begins to brown, stirring frequently. Set aside.
Place remaining 2 1/2 teaspoons oil in a small microwave-safe bowl, and microwave at high for 10 seconds at a time just until oil is heated. Stir in saffron; let stand 10 minutes.
Combine lemon mixture, saffron mixture, chopped parsley, and next 7 ingredients (through garlic) in a large zip-top plastic bag. Add fish to bag, and seal. Marinate in refrigerator 30 minutes, turning occasionally.
Preheat oven to 400°.
Layer 1 cup onion slices and 2 cups tomato on the bottom of a 13 x 9-inch baking dish coated with cooking spray. Remove fish from bag, reserving marinade. Top tomato with fish; pour remaining marinade from bag over fish. Cover with remaining 2 cups tomato and remaining 1 cup onion. Cover with foil. Bake at 400° for 40 minutes or until fish flakes easily when tested with a fork or until desired degree of doneness. Remove from oven.
Transfer fish and vegetables to a serving platter. Drizzle remaining liquid over fish. Garnish with cilantro leaves, if desired. Serve immediately.