Place a rack in the centre of the oven and preheat to 400 degrees. Place a cookie sheet underneath to catch any drips from the beets.
Trim the greens, tops and stems from the beets. Wash thoroughly and wrap in aluminum foil packages, about 4 beets per package. Place the packages directly on the oven rack and bake until beets are easily pierced by a fork or knife, 45 minutes to 1 hour depending on size.
Meanwhile, in a large bowl, combine minced onion, oil, vinegar and sprinkle with salt and pepper to taste.
Remove roasted beets from oven and carefully open foil packages to let steam escape. Let cool at least 30 minutes.
Unwrap roasted beets and use a peeler to remove tough skin. Dice beets into bite-size pieces. Add to bowl with onion mixture, mix well and let marinate in the refrigerator for 1-8 hours.
In a bowl, whisk together cream cheese, olive oil, sour cream, rice vinegar, pepper and salt until smooth. Whip until cheese is fluffy and soft. Refrigerate until ready to serve.
Decorate beets and grapefruit slices on a serving platter. Spoon dollops of cream cheese mixture on and around the beets. Sprinkle herbs, arugula and pistachio. Serve immediately.