How is the classical twin paradox resolved?
To understand this paradox it's best to forget about everything you know (even from SR) because all of that just causes confusion and start with just a few simple concepts.
First of them is that the space-time carries a metric that tells you how to measure distance and time. In the case of SR this metric is extremely simple and it's possible to introduce simple $x$, $t$ coordinates (I'll work in 1+1 and $c = 1$) in which space-time interval looks like this
$$ ds^2 = -dt^2 + dx^2$$
Let's see how this works on this simple doodle I put together
The vertical direction is time-like and the horizontal is space-like. E.g. the blue line has "length" $ds_1^2 = -20^2 = -400$ in the square units of the picture (note the minus sign that corresponds to time-like direction) and each of the red lines has length zero (they represent the trajectories of light).
The length of the green line is $ds_2^2 = -20^2 + 10^2 = -300$. To compute proper times along those trajectories you can use $d\tau^2 = -ds^2$. We can see that the trip will take the green twin shorter proper time than the blue twin. In other words, green twin will be younger.
More generally, any kind of curved path you might imagine between top and bottom will take shorter time than the blue path. This is because time-like geodesics (which are just upward pointing straight lines in Minkowski space) between two points maximize the proper time. Essentially this can be seen to arise because any deviation from the straight line will induce unnecessary space-like contributions to the space-time interval.
You can see that there was no paradox because we treated the problem as what is really was: computation of proper-time of the general trajectories. Note that this is the only way to approach this kind of problems in GR. In SR that are other approaches because of its homogeneity and flatness and if done carefully, lead to the same results. It's just that people often aren't careful enough and that is what leads to paradoxes. So in my opinion, it's useful to take the lesson from GR here and forget about all those ad-hoc SR calculations.
Just to give you a taste what a SR calculation might look like: because of globally nice coordinates, people are tempted to describe also distant phenomena (which doesn't really make sense, physics is always only local). So the blue twin might decide to compute the age of the green twin. This will work nicely because it is in the inertial frame of reference, so it'll arrive at the same result we did.
But the green twin will come to strange conclusions. Both straight lines of its trajectory will work just fine and if it weren't for the turn, the blue twin would need to be younger from the green twin's viewpoint too. So the green twin has to conclude that the fact that blue twin was in a strong gravitational field (which is equivalent to the acceleration that makes green twin turn) makes it older. This gives a mathematically correct result (if computed carefully), but of course, physically it's a complete nonsense. You just can't expect that your local acceleration has any effect on a distant observer. The point that has to be taken here (and that GR makes clear only too well) is that you should never try to talk about distant objects.
The "paradox" in the twin paradox is that a naive view of the problem would suggest that the situation ought to be perfectly symmetric: each twin should believe that he or she is really at rest, while the other twin is the one who moves off at high speed then returns. This is incorrect, though, because one of the two necessarily accelerates, which provides a means of distinguishing between the two frames of reference.
You can understand the difference in times entirely from within special relativity, with no need to invoke general relativity. You can easily Google up a dozen different explanations of how it works, but the best I've seen is probably the one in Tatsu Takeuchi's An Illustrated Guide to Relativity. Sadly, being illustrated and not online, it's a bit beyond my ability to reproduce here, but it's worth a look.
The problem that needs to be resolved is that both twins should see the other's clock running slow during the trip, but somehow, the moving twin has to end up seeing less time pass than the Earthbound twin. The resolution is, very roughly, that in the moving frame of the twin on the return trip, the departure point is much farther in the past, so the trip has been going on for a longer time. An observer who has always been in that frame (say the captain of the interstellar transport the twin is hitching a ride on) would say that the Earth clock has always been slow, but it's been going for far longer than the twin's internal clock would suggest.
The details are somewhat subtle, though, which is why there are dozens of semi-contradictory explanations available via Google. It's important to note, though, that it is not the case that the acceleration causes the difference between the clocks (in which case you might actually need GR to work it out). It's the transitions between frames of reference that leads to the difference, not the acceleration itself, and you can get a twin-paradox-like difference between clocks even when both twins undergo exactly the same acceleration, as shown in this American Journal of Physics paper.
Carlo Rovelli gives an intuitive account of why only SRT is needed in his new book "The order of time":
‘In motion’ in relation to what? How can we determine which of the two objects moves, if the motion is only relative? This is an issue that has confused many. The correct answer (rarely given) is this: in motion relative to the only reference in which the point in space where the two clocks separate is the same point in space where they get back together. There is only a single straight line between two events in spacetime, from A to B: it’s the one along which time is maximum, and the speed relative to this line is the one that slows time. If the clocks separate and are not brought together again, there is no point asking which one is fast and which one is slow. If they come together, they can be compared, and the speed of each one becomes a well-defined notion.