سعدی در شیراز متولد شد. پدرش در دستگاه دیوانی اتابک سعد بن زنگی، فرمانروای فارس شاغل بود.
سعدی هنوز طفل بود که پدرش درگذشت. در دوران کودکی با علاقه زیاد به مکتب میرفت و مقدمات علوم را میآموخت. هنگام نوجوانی به پژوهش و دین و دانش علاقه فراوانی نشان داد. اوضاع نابسامان ایران در پایان دوران سلطان محمد خوارزمشاه و به خصوص حمله سلطان غیاث الدین، برادر جلال الدین خوارزمشاه به شیراز (سال ۶۲۷) سعدی را که هوایی جز کسب دانش در سر نداشت برآن داشت دیار خود را ترک نماید. سعدی در حدود ۶۲۰ یا ۶۲۳ قمری از شیراز به مدرسهٔ نظامیهٔ بغداد رفت و در آنجا از آموزههای امام محمد غزالی بیشترین تاثیر را پذیرفت (سعدی در گلستان غزالی را «امام مرشد» مینامد). غیر از نظامیه، سعدی در مجلس درس استادان دیگری از قبیل شهابالدین سهروردی نیز حضور یافت و در عرفان از او تاثیر گرفت. معلم احتمالی دیگر وی در بغداد ابوالفرج بن جوزی (سال درگذشت ۶۳۶) بودهاست که در هویت اصلی وی بین پژوهندگان (از جمله بین محمد قزوینی و محیط طباطبایی) اختلاف وجود دارد.
پس از پایان تحصیل در بغداد، سعدی به سفرهای متنوعی پرداخت که به بسیاری از این سفرها در آثار خود اشاره کردهاست. در این که سعدی از چه سرزمینهایی دیدن کرده میان پژوهندگان اختلاف نظر وجود دارد و به حکایات خود سعدی هم نمیتوان چندان اعتماد کرد و به نظر میرسد که بعضی از این سفرها داستانپردازی باشد (موحد ۱۳۷۴، ص ۵۸)، زیرا بسیاری از آنها پایه نمادین و اخلاقی دارند نه واقعی. مسلم است که شاعر به عراق، شام و حجاز سفر کرده است[نیازمند منبع] و شاید از هندوستان، ترکستان، آسیای صغیر، غزنه، آذربایجان، فلسطین، چین، یمن و آفریقای شمالی هم دیدار کرده باشد.
سعدی در حدود ۶۵۵ قمری به شیراز بازگشت و در خانقاه ابوعبدالله بن خفیف مجاور شد. حاکم فارس در این زمان اتابک ابوبکر بن سعد زنگی(۶۲۳-۶۵۸) بود که برای جلوگیری از هجوم مغولان به فارس به آنان خراج میداد و یک سال بعد به فتح بغداد به دست مغولان (در ۴ صفر ۶۵۶) به آنان کمک کرد. در دوران ابوبکربن سعدبن زنگی شیراز پناهگاه دانشمندانی شده بود که از دم تیغ تاتار جان سالم بدر برده بودند. در دوران وی سعدی مقامی ارجمند در دربار به دست آورده بود. در آن زمان ولیعهد مظفرالدین ابوبکر به نام سعد بن ابوبکر که تخلص سعدی هم از نام او است به سعدی ارادت بسیار داشت. سعدی به پاس مهربانیهای شاه سرودن بوستان را در سال ۶۵۵ شروع نمود. و کتاب را در ده باب به نام اتابک ابوبکر بن سعدبن زنگی در قالب مثنوی سرود. هنوز یکسال از تدوین بوستان نگذشته بود که در بهار سال ۶۵۶ دومین اثرش گلستان را بنام ولیعهد سعدبن ابوبکر بن زنگی نگاشت و خود در دیباچه گلستان میگوید. هنوز از گلستان بستان یقینی موجود بود که کتاب گلستان تمام شد.