Place unpeeled beets in medium soup pot (beets may be halved if they are extra large). Chop onions, garlic, and ginger and add to beets. Pour cranberry juice over beets, cover pot and cook for 45 minutes or until beets are tender (if liquid reduces, add small amount of water). Puree soup in blender or food processor, add salt and pepper, to taste.
To prepare pesto, combine all ingredients and chill.
To serve: Ladle the heated soup into bowls and gently swirl in a spoonful of chilled cilantro pesto (do not stir in).