عملیات بارباروسا
طرح عملیاتی

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