The story is set in the Qing Dynasty, during Emperor Qianlong's rule. In a royal household, a birth was about to occur. The royal officer's wife, the Fu Jin, was giving birth to yet another child. She had several daughters, but no sons. That day, a beautiful woman arrived, captivating the royal officer. He married her as his concubine, making Fu Jin feel threatened about her position.
The baby soon came, and it was another daughter. Deeply saddened and crying, the Fu Jin reluctantly agreed to a plan her sister had devised. The daughter was to be switched with a son from another family, the son not being of royal blood. Fu Jin could not bear to part with her own child, but knew that her sister was thinking for her best interests. She tearfully parted with her daughter, but not without leaving an indelible tattooed flower on her shoulder.
The baby daughter drifted away in the river, and was soon found by two singers who worked from place to place and earned money. She was named Yinshuang (played by Vivian Chen). Meanwhile, the son, Haozhen (Steve Ma), grew up in a royal household, constantly doted on by his "father", the royal officer. As fate would have it, the two met and fell in love. However, Emperor Qianlong also respected Haozhen and his family, and wanted him to marry a partner of high status. Qianlong proposed a marriage between him and his daughter, the princess, who adores Haozhen. Instant love triangle.
Anyway, Yinshuang soon works her way into her original family's household, without knowing that she was their daughter. Fu Jin pities Yinshuang and the jealousy she suffers from the princess. She soon allows Haozhen to take Yinshuang in as a concubine. After an accident, the Fu Jin finds out that Yinshuang was her own daughter. Many troubles are caused then, as the love triangle between Haozhen, Yinshuang, and the princess, as well as their pasts, builds up to a climax that does not end well for either one of them.