There are analogues to the chain and product rules that you can use with the del operator. The problem is that it takes a fair bit of experience to know which analogues are valid and which aren't. (I used to be able to do this easily, but it's 20 years since I had exams in this and I struggle a bit now...)
Anyhow, here's my proof:
∇f(r)=f′(r)∇r (chain rule analogue for del)
=f′(r)rr=rf′(r)r (*) (from knowing
∇r=rr which you really should know.)
∇.∇f(r)=(∇rf′(r)).r+rf′(r)(∇.r) (product rule analogue for del)
Now f'(r) / r is a function of r, so we can reapply the result from (*) to say:
∇rf′(r)=(drdrf′(r))rr=(rf′′(r)−r2f′(r))rrand so
(∇rf′(r)).r=(rf′′(r)−r2f′(r))rr.r=r(rf′′(r)−r2f′(r))=f′′(r)−f′(r)/r (**)
Meanwhile,
∇.r = 3 (again, something you should know!), so
rf′(r)(∇.r)=3f′(r)/r (***)
Adding (**) and (***) gives the desired result.