She put a blanket over the child sleeping on the sofa.

Literal

She [topic-は] sofa [at-で] sleeping child [for-に] blanket [object-を] placed.

ソファーで眠っている is a relative clause modifying 子供, the kind of pre-noun modification that English prefers to push out into a relative clause with 'who': 'the child who was sleeping on the sofa.' Note で (location of an ongoing action) versus に (location of static existence): because the child is doing something — sleeping — on the sofa, で wins. かける with 毛布 is one of many idiomatic uses of this remarkably flexible verb (鍵をかける 'lock,' 電話をかける 'make a call,' めがねをかける 'wear glasses,' アイロンをかける 'iron'); here it means 'drape' or 'cover.' The に on 子供 marks the recipient of the action.