Heat 1 tablespoon olive oil in a deep skillet over medium heat. Add the spinach to the pan and season it generously with salt and pepper. Toss the spinach in the olive oil until the spinach just begins to wilt down. Remove the spinach to a bowl and set aside. Wipe out the moisture from the pan and return the skillet to the heat.
Add the other tablespoon of olive oil to the pan. Saute the shallots in the oil for 2-3 minutes until tender and fragrant. Add the curry paste, followed by the chicken broth, coconut milk, and sugar. Bring to a simmer, reduce heat to low, and allow the curry to reduce by half. Taste for seasoning and add salt, if needed.
Season the halibut fillets lightly with salt. Place the halibut fillets into the broth, spooning some of the broth over the top. Cover the pan and allow the fillets to poach about 5 minutes (depending on the thickness of your fillets), or until cooked to medium rare to medium, being very careful not to overcook (halibut dries out quickly and we want to avoid that).
Distribute the sautéed spinach evenly between 4 serving bowls. Carefully place a halibut fillet on top of each bed of spinach.
To the curry broth, stir in the cilantro, green onion, and the juice of half a lime. Ladle the broth over each of the halibut fillets. Garnish with fresh cilantro and green onion. Serve with steamed jasmine rice, if using, and lime wedges.