List(1, 2, 3, 4, 5).sliding(2).map(_.sum).to[List]
does the job.
Docs:
def sliding(size: Int): Iterator[Seq[A]]
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)