This answer is split into two parts, a speech for the birthday person, and a speech for the best friend.
Thank your friends for their support and trust, no matter how long you’ve known them. Make sure you say something nice about all of them (or if that takes more than a couple of minutes, single out one friend and thank them. Alternatively, you could give a ‘blanket thank’, and say thank you to your friends in general).
Next, mention any close relatives (brothers, sisters, cousins etc.) that you would like to mention. This doesn’t need to be too long, but if it’s an older sister you’re mentioning, flowers are a nice gesture. Explain to everyone what they’ve done for you.
Thank your parents for raising and caring for you - accompany this with a bottle of wine and a bunch of flowers. See a professional florist for flower ideas. As for the wine, make sure it’s a good vintage; French wines are great. If they’re going to drink it at the party, choose a sparkling wine or champagne. If they’re likely to save it for later, the best idea is to go with a red.
After that, you can say something about how you feel about everyone, for example “I love spending time with all of you. It’s great that you’re here tonight to help me celebrate my 21st birthday. Everyone here has helped me develop into who I am today, and I love you all.”
This should take no more than four minutes (including clapping, giving gifts etc.)
About a friend:
Basically, this is where you say how and when you met each other. Use this formula:
1)How long you’ve known each other
2)Where you met
3)How you met
4)How you came to be friends
Start off with something like:
James and I have known each other for nearly TWELVE years now. We first met at/in THE BELL HOTEL IN FRANCE, where we WERE BOTH ON HOLIDAY. We got chatting and REALISED WE LIVED ABOUT A MILE AWAY FROM EACH OTHER. We met up back in LONDON, and have been friends ever since.
Here, you tell everyone the journey you’ve been on since you met. Maybe include something humorous:
When my father passed away, James was there to help and comfort me… and when his turtle died, I was there to comfort him. He’s the best friend anyone could have.
This needs to be something that really wakes everyone up. Talk about the time you experimented with man love, or the time you both set your flat on fire etc. Something to create an interesting discussion point after the speech.
This is where you need to squeeze out a tear, thank the friend and tell them how ‘truly amazing’ they are. This part should last for about 15 seconds.
Then raise your glass, and you’re done.
Overall, it should take no more than 2 minutes.