A simplified explanation of closures by Morris Johns: A closure is the local variables for a function - kept alive after the function has returned.
A stackoverflow community article explaining closures in plain simple English does a great job. Succinctly: a closure is created when inner function that gets returned. The inner function can still see the variables and methods defined in the outer function.
A clever hands-on interactive mini-course by Nathan Whitehead that guides you through bite-sized chunks from variables, to functions, to return values, to functions as first-class objects and right into closures and finally continuations. The hands-on exercises are JS Linted and unit-tested which gives you ample space to try out your new-found knowledge.
Dan Webb describes curried functions as a way of creating reusable callback functions for event handlers or Ajax requests, or anything that takes a function as an argument. By using closures, curried functions have a simple way of persisting data between calls. He also offers an elegant way of running a lots of methods on objects, with a simple map function written as a curried function.