To make the spice mix, toast the cumin seeds, coriander seeds and peppercorns in a dry saucepan set over a medium heat. Cook for about 1-2 minutes, until fragrant. Cool slightly before grinding to a powder.
Mix the ground spices, salt and thyme together and rub over the mahi mahi. Reserve any extra spice mix.
Drizzle the fish with olive oil and leave to marinate for about 15 minutes.
To make the mojo, heat the olive oil in a saucepan and add the onion and garlic. Cook for about 3 minutes, until the onion is softened and translucent.
Stir in any remaining spice mix.
Add the orange juice, lime juice and rum and bring to the boil. Lower the heat and simmer for 10 minutes.
Grill the mahi mahi for 3 minutes on each side, until just cooked through.
Scatter over the orange segments, garnish with fresh cilantro and serve with the mojo sauce.