Ash's Metapod evolved into a Butterfree while trying to protect Ash from a Beedrill. Butterfree proved to be a strong Pokémon though it wasn't part of Ash's party for very long before being released.
While on route to Saffron City, Ash and his friends saw a flock of Butterfree preparing for the season of love. Brock told Ash that if he didn't let his Butterfree cross the ocean, it couldn't leave any offspring. Ash was determined to be a good 'parent' and told Butterfree to go look for a mate. The Pink Butterfree was love at first sight for Ash's Butterfree when it went looking for a mate in the flock of Butterfree. It tried to impress the Pink Butterfree with its moves and courtship dance but the Pink Butterfree was initially unimpressed and slapped Ash's Butterfree so it would leave her alone.
After the flock of Butterfree got captured by Team Rocket, the Pink Butterfree's attitude towards Ash's Butterfree changed after it saw just how hard it worked for free it and the rest of the Butterfree. The Pink Butterfree later decided it liked Ash's Butterfree and the two of them ended up leaving to cross the ocean and have offspring. Butterfree was sad to leave Ash but it was now leaving to start its own family.