Make the broth: In a dutch oven or large pot add the fish head, carrots, celery, tomato, and red onion. Cover with water just above the fish head and bring to a boil.
Once broth is boiling, bring heat down to a simmer. Cook for 45 minutes or until the fish head is fully cooked.
Make the garnish: add the sliced red onion in a bowl with lime juice and pinch of salt, stir to combine. Set aside.
In a bowl add in the fish fillets with 1/2 tsp of salt and mix to combine. Set aside.
When fish broth is ready, strain with a sieve into a large bowl. Set aside to cool for a bit.
In the same pot used to make the fish head broth add in the plantain, corn, cassava, culantro, scallion, peas, sazon, and garlic. Add in the strained fish head broth and water to cover everything.
Bring pot to a boil then lower heat to a simmer. Cover and let cook for 15 minutes.
Remove fish meat from the cooked fish head and the sliced carrots, set aside and discard the fish head and remaining cooked vegetables.
Add fish fillets, fish head meat, and carrots into the pot and cook for another 10-15 minutes or until everything is fully cooked.
Ladle soup into bowl and garnish with pickled onions.