Первый блок - он не блок совсем. Делаете его postion:fixed, а у второго блока делаете отступ от верха высотой первого блока. При сколе первый блок будет оставаться на месте и второй будет "наскроливаться" на него.
Вариантов масса. Один из самых простых способов, использовать свойство z-index и position: fixed/sticky. Учтите, что свойство sticky не поддерживается старыми браузерами, придётся использовать другие методы решения.