В 18.00 27 сентября в Москву прибыл Риббентроп. Первая беседа с Молотовым проходила с 22.00 до 1.00 в присутствии Сталина, Шуленбурга и Шкварцева. В ходе переговоров по вопросу окончательного начертания границы на территории Польши Риббентроп, ссылаясь на то, что Польша была "полностью разбита немецкими вооруженными силами", стремился сохранить за Германией районы нефтедобычи в верховьях р. Сан и лесные массивы у Августова и Белостока. Сославшись на опасность разделения польского населения, что могло породить волнения и создать угрозу обеим государствам, Сталин предложил оставить территорию этнографической Польши в руках Германии. Относительно германских пожеланий об изменении линии государственных интересов на юге и севере, Сталин, отведя их, предложил в качестве компенсации поставлять Германии до 500 тыс. тонн нефти в обмен на поставки угля и стальных труб. В итоге территориальный вопрос свелся к двум вариантам. Согласно первому, все оставалось как было решено 23 августа. Согласно второму, Германия уступала Литву и получала за это области восточнее Вислы до Буга и Сувалки без Августова. Кроме того, Риббентроп настаивал на передаче Германии части территории Литвы в районе Мариамполь337 .
Докладывая в Берлин о результатах переговоров, Риббентроп, оценив варианты решения территориального вопроса, отмечал, что не может определить, какой из них более выгоден Германии. За первый вариант говорит, по его мнению, то, что, "имея в руках Литву, мы расширим на северо-востоке немецкую колонизационную зону". Против этого говорит то, что раздел польского населения может создать возможность трений между Германией и СССР. За второй вариант говорит то, что присоединение всего польского населения исключает политические интриги для нарушения германо-советских отношений и дает возможность решить национально-политическую проблему по усмотрению Германии. Против этого можно возразить, что таким образом СССР освобождается от международной польской проблемы. Риббентроп просил Гитлера до 12.00 германского времени 28 сентября сообщить ему о предпочтительном варианте, иначе он будет вынужден решать сам338 .
На следующий день с 15 до 18.30 была проведена вторая беседа в Кремле, в ходе которой выяснилось, что Гитлер в целом одобрил второй вариант решения территориального вопроса. После этого с 24.00 до 5.00 29 сентября велось конкретное обсуждение линии проведения границы. Советская сторона отказалась от территории в междуречье Нарева и Буга восточнее линии Остров - Остроленка, а германская чуть передвинула границу на север в районе Равы-Русской и Любачува. Долгая дискуссия вокруг Перемышля не привела к каким-либо результатам, и город остался разделенным на две части по р. Сан. В итоге была согласована "граница между обоюдными государственными интересами на территории бывшего Польского государства", которая закреплялась в германо-советском договоре о дружбе и границе (ст. 1). Эта граница признавалась окончательной, и отвергалось вмешательство третьих держав в это решение (ст. 2); стороны должны были заняться государственным переустройством присоединенных территорий (ст. 3) и рассматривали это переустройство как "надежный фундамент для дальнейшего развития дружественных отношений между своими народами" (ст. 4)339 .
Кроме договора были подписаны конфиденциальный протокол о переселении немцев, проживающих в сфере советских интересов, в Германию, а украинцев и белорусов, проживающих в сфере германских интересов, в СССР, и два секретных дополнительных протокола. В одном из них стороны брали на себя обязательства не допускать "никакой польской агитации" и сотрудничать в деле пресечения подобной агитации. В соответствии с другим протоколом, Литва отходила в сферу интересов СССР в обмен на Люблинское и часть Варшавского воеводства, передававшихся Германии. После же принятия советским правительством мер по обеспечению своих интересов в Литве часть литовской территории на юго-западе страны должна была отойти к Германии340 . Позднее, 4 октября, в Москве был подписан протокол с описанием границы от р. Игорка до Ужокского перевала341 , содержание которого было 5 октября доведено до сведения войск Белорусского и Украинского фронтов телеграммой начальника Генштаба № 090342 . Советский Союз получил территорию в 196 тыс. кв. км (50,4% территории Польши) с населением около 13 млн человек.