В составе Одесского военного округа было 6598 орудий и минометов, из них 693—45-мм противотанковых пушек, 296 полковых пушек обр. 1927 г.; 76-мм дивизионных пушек: 138 образца 1902/30 г. и 256 образца 1936 г.; 32 горные пушки образца 1932 г.; 53—107-мм пушки образца 1910/30 г.; 122-мм дивизионных гаубиц: 369 образца 1910/30 г., 28 образца 1909/37 г., 71 образца 1938 г.; 122-мм корпусных пушек образца 1931 г. — 67; 152-мм гаубиц; 128 образца 1909/1930 г. и 72 образца 1938 г.; 152-мм гаубиц-пушек образца 1937 г. — 213; 152-мм пушек образца 1910/1930 г. — 25, 203-мм гаубиц Б-4 — 86, 280-мм мортир: шесть образца 1914/1915 г. и шесть образца 1913 г., а также 3360 минометов.
Зенитная артиллерия состояла из 70 37-мм автоматов образца 1939 г., 275 — 76-мм зенитных пушек образца 1931 и 1938 г. и 84 — 85-мм зенитных пушек образца 1939 г.
В ВВС Одесского округа насчитывалось 950 самолетов, в том числе на 1 июня 1941 г. имелось: 172 истребителя МиГ-3, 232 истребителя И-16, 116 штурмовиков И-153 и И-15бис, бомбардировщиков СБ — 155, Пе-2 — 40, Ар-2 — 24 и Су-2 — 35.
Охрану государственной границы с Румынией несли погранотряды Молдавского пограничного округа: 23-й (Липканский), 24-й (Бельцский), 25-й (Кагульский), 2-й (Каларашский) и 79-й (Измаильский).
На старой границе с Румынией вдоль Днестра тянулись 80-й (Рыбницкий) и 82-й (Тираспольский) укрепрайоны. Они могли быть использованы как тыловой рубеж обороны, поэтому в них в соответствии с директивой Генерального штаба проводились работы по восстановлению предполья, начатые за несколько дней до войны.
82-й и 80-й укрепрайоны протянулись вдоль Днестра от его устья до Могилев-Подольского и далее на Н. Ушица. Они имели оборонительные сооружения почти во всей полосе Одесского военного округа. Из них 82-й укрепрайон имел протяженность 150 км. Здесь располагались 262 пулеметных и 22 артиллерийских долговременных сооружения. В его составе насчитывалось более 10 тысяч человек, около 100 орудий, 632 станковых и 285 ручных пулеметов.
В соответствии с директивой наркома обороны от 6 мая 1941 г. в Одесском военном округе был разработан план обороны государственной границы от Липканы до устья Килийского гирла Дуная и далее по побережью Черного моря до Керченского пролива и представлен в Генеральный штаб 20 июня.
На основании этого плана на правом фланге округа от Липканы до Унген развертывались 176-я и 95-я стрелковые дивизии 35-го корпуса, и одна стрелковая дивизия находилась во втором эшелоне. От Унгены до Рени и далее по Дунаю до Черного моря и по побережью до Одессы оборона границы возлагалась на 25-ю и 51-ю стрелковые и 9-ю кавалерийскую дивизии. Эти три дивизии были развернуты в один эшелон. От Одессы по побережью на восток располагались части береговой обороны и погранотряды, а в Крыму — 9-й корпус.
В среднем на каждую дивизию первого эшелона по реке Прут и Килийскому гирлу приходилось 100 км по фронту. Так как они занимали оборону в полосе 50—60 м, между ними имелись большие промежутки. Разрыв между обороной 176-й и 95-й дивизий, например, составлял 70 км. В этих промежутках располагались только пограничники, их наряды, заставы, штабы комендатур.
Во втором эшелоне округа находились: 2-й и 18-й механизированные, 48-й стрелковый корпуса, 5-я кавалерийская дивизия, 3-й воздушно-десантный корпус. Эти мобильные соединения предназначались для нанесения ударов по противнику во взаимодействии с войсками первого эшелона прикрытия границы.
21 июня Политбюро ЦК ВКП(б) приняло решение о создании Южного фронта. Формирование полевого укрепления Южного фронта было возложено на штаб Московского военного округа. Командующий этим округом генерал армии И.В. Тюленев был назначен командующим Южным фронтом.
В полосе действий Южного фронта противник имел развернутыми от Берегомета до Стефанешти горнострелковый, 4-й армейский и кавалерийский корпуса 3-й румынской армии. Южнее располагались на границе 11-й и 54-й армейские корпуса и во втором эшелоне 30-й армейский корпус 11-й немецкой армии, которой командовал генерал-полковник О. фон Штюльпнагель. 11-я армия входила в состав группы армий «Юг». Южнее этой армии до устья Дуная располагались последовательно 3-й, 5-й, 11-й, 2-й армейские корпуса 4-й румынской армии.
18-я армия сформировалась уже в ходе войны. Ее управление было создано на базе штаба Харьковского военного округа, а командующий войсками округа генерал-лейтенант А.К. Смирнов был назначен командующим армией. Штаб 18-й армии 26 июня прибыл в Каменец-Подольский, развернул командный пункт и на следующий день приступил к управлению соединением.
В состав 18-й армии вошли корпуса 17-й стрелковый (60-я, 96-я горнострелковые и 164-я стрелковая дивизии), 55-й стрелковый (130-я, 169-я стрелковые дивизии), 16-й механизированный (15-я, 39-я танковые и 240-я моторизованная дивизии) корпуса. 17-й и 16-й корпуса были переданы из состава 12-й армии Юго-западного фронта, они еще не участвовали в боях. 17-й корпус был развернут на границе, а 16-й, имевший 608 танков, — во втором эшелоне.