Wild Seed by Octavia E. Butler
*may contain spoilers*
Wild Seed is the story of Anyanwu, a shape-shifter, and Doro, a spirit that must continually take over other people's bodies in order to survive. Both are immortal. Anyanwu has found a way to control every aspect of her body and heal her own sickness and aging. She can also change her body to become a man or woman or animal. Doro was once alive but now is just a spirit destined to jump from one body to the next, taking over that person and thus killing them. Unable to find anyone like himself, Doro "lived" for centuries behaving like a selfish "god", seeking out others with unusual abilities to breed a kind of super-supernatural being, holding their lives in his hands. In his search, he meets Anyanwu and tricks her into leaving her home in Africa and going to North America. Their battle of wills rages for a century as Doro is unable to control Anyanwu and yet unable to live without her as she is unable to live without him.
This was the most imaginative book I've read in a while. When I was explaining some parts to my sister, I really began to realize the depth of Ms. Butler's world. It was our world, but these character existed on a level that most people would never encounter. The main character Anyanwu is so strong and wise and yet a bit naive when it comes to Doro. Butler balances these two characters against each other so well that you can sense the chemistry between them as you read. I was very impressed with the story and the writing. I borrowed it from the library and when I finished, I went and bought myself a copy and recommend it to anyone who reads.